Framework와 Library의 구분
차이는 Flow(흐름)에 대한 제어 권한이 어디에 있느냐이다.
Framwork는 전체적인 흐름을 자체적으로 가지고 있으며, 프로그래머가 그 안에 필요한 코드를 작성한다.
Library는 사용자가 흐름에 대해 제어를 하며 필요한 상황에 가져다 쓰기만 한다.
React의 Library적 특성
단일 npm 설치로 배포되며 한가지 작업을 실행한다.
자체적으로 MVC 모든 부분을 수행하지 않는다. View만 렌더링한다.
확장이 불가능하다.
React의 Framework적 특성
클라이언트에서 수행하려는 작업의 대부분은 React내에서만 할 수 있다.
완전한 기능을 갖춘 DOM 조작 및 상태 엔진이다.
Companion libraries가 어떻게 작동해야 하는지 따라야할 옵션이 있다.