리액트의 용도
React
는 상호 작용(Interaction)이 많은 웹 앱을 개발하기 위해 주로 사용된다. 그러므로 이러한 웹 앱을 만드는 다른 툴인 Vue
나 Angular
와 많이 비교된다. 처음으로 볼 수 있는 가장 큰 차이점은 프레임워크와 라이브러리의 차이다. Angular와 Vue는 프레임워크이며 리액트는 라이브러리다.
프레임워크와 라이브러리의 차이점은?
프레임워크
는 어떤 앱을 만들기 위해 필요한 대부분의 것을 가지고 있다. 라이브러리
는 어떤 특정 기능을 모듈화해 놓는다. 프레임워크는 라이브러리를 포함하고 사용자가 작성한 코드를 호출한다. 그리고 코드는 특정 기능을 구현하기 위해 라이브러리를 호출한다. 리액트가 라이브러리인 이유는 리액트는 전적으로 UI를 렌더링하는 데 관여하기 때문이다.
한편 화면을 바꾸는 라우팅은 react-router-dom
모듈을 사용하고 상태 관리를 위해서는 redux
, mobx
등 여러 모듈을 사용하며 빌드를 위해서는 webpack
과 npm
등, 테스팅을 위해서도 Eslint
, Mocha
등을 이용하므로 리액트는 프레임워크가 아닌 라이브러리이다.