두 개 모두 다른 사람이 작성한 코드이다. 우리의 프로젝트를 위해 가져다 쓴다.
둘의 차이점! -> 누가 누구를 컨트롤 하는가에 갈린다.
내가 코드를 컨트롤 하는건가?
누군가 정해진 규칙을 따라하고 있는가?
**라이브러리**의 대표적인 예로 jQuery 가 있다. 내가 웹을 제작하고 있는데, **필요에 의해서** jQuery
를 불러다 쓴다. 우리가 필요로 할 때 꺼내다 쓰는 것이 라이브러리다.
그렇지만 **프레임워크**는 필요에 의해서 그때그때 호출하는 개념이 아니다. 프레임워크가
나의 코드를 호출한다. 프레임워크로 일할 때는 **프레임워크의 규칙을 따라야 한다.
내가** 코드의 규칙을 결정하는 입장이 아니다. 어디에 템플릿을 넣고, 컨트롤러를 넣고, 뷰를 넣고등등
**라이브러리와 프레임워크는 흑백처럼 선이 극명한가?**
React 홈페이지에 가보면 리액트는 **라이브러리** 라고 소개하고 있다.
우린 애플리케이션의 UI 를 빌드할 때 **React 를 call** 한다. **우리가 call** 하니까 **라이브러리**가 맞다.
하지만, **리액트가 우리의 컴포넌트를 부르기도 한다.** 따라서 이러한 경우는 리액트를 **프레임워크**라고
부를 수 있다. 그리고 규칙 또한 알려준다.
그렇다. 양쪽의 특징을 모두 가지고 있는 경우가 프론트앤드에서는 널리고 널렸다. 굳이 뭐가 뭐다!
라고 확정 지을 필요 또한 없다. 개념만 잘 가지고 있으면 된다.