리액트는 프론트엔드 개발을 위한 Javascript 오픈 소스 라이브러리이다.
리액트의 세가지 특징
1. 선언형
2. 컴포넌트 기반
3. 범용성
1.선언형
선언형 => 명시적
프로그래밍 분야에서 명시적이라는 말은 코드를 자세히 살펴보지 않아도 코드의 의도를 분명하게 알 수 있는 방식을 의미한다.
html, js를 각각 다른 파일에 담고 이것을 querySelector로 받아와서 따로 개발하는 과정은 다소 직관적이지 않다.
리액트에서는 html과 js를 결합한 JSX를 활용하여 하나의 파일에 명시적으로 기능과 구조를 한눈에 볼 수 있는 코드를 작성할 수 있다.
2.컴포넌트 기반
리액트는 하나의 기능 구현을 위해 여러 종류의 코드를 하나의 컴포넌트로 묶어서 개발한다.
컴포넌트로 개발하면 서로 독립적이고 재사용 가능하기 때문에, 기능 자체에 집중하여 개발할 수 있다.
대소문자와 반복수 주의깊게 보기!
-
컴포넌트 기반 개발의 장점
- 독립성
컴포넌트 간의 의존성이 줄어들어 각각의 컴포넌트를 독립적으로 개발 가능하다.
- 재사용성
이전에 기능 구현을 위해 작성한 코드를 재사용하기가 쉽다.
---> 기능 작동에 집중한 개발: 개발을 위한 개발이 아닌(예를 들어, 무언가를 연결하고 가져오기 위한 개발) 기능 작동에 집중하여 개발하는 것이 가능하다.
---> 유지 보수 용이: 웹앱 내에서 어떤 기능에 문제가 생기면 그 기능을 구현한 컴포넌트를 체크하면 되므로 유지 보수가 쉬워진다.
---> 유닛 테스트 용이: 각각의 컴포넌트가 기능에 따라 독립적으로 존재하기 때문에 유닛 테스트를 하기 쉽다.
- 범용성
리액트는 자바스크립트 프로젝트라면 어디든 유연하게 적용할 수 있다.
프레임워크는 다른 프레임워크와 사용하는 것이 불가능하지만,
리액트는 자바스크립트 라이브러리이기 때문에 기존에 프레임워크로 작성된 프로젝트에도 적용이 가능하다.
리액트는 페이스북에서 관리되어 안정적이고 가장 유명하며 많이 쓰인다.
리액트 네이비브를 이용하면 모바일 개발도 가능하다.