라이브러리와 프레임워크의 기본적인 차이
누가 누구를 컨트롤 하는가
내가 다 결정해서 코드를 컨트롤 하는가 - 라이브러리
누군가가 정해준 규칙을 따르고 있는가 - 프레임워크

라이브러리(Library)
내가 코딩을 하다가 필요(시간절약/편의 등)해서 불러오는 것
개발자가 만든 프로그램에 필요한 기능을 라이브러리 형태로 제공 받아, 개발자가 더 쉽게 코드를 작성하고 반복적인 일을 줄일 수 있도록 도와줌
프레임워크(Framework)
프레임워크를 사용하려면, 그 프레임워크가 정해둔 규칙대로 작성해야함
(어디에 템플릿을 넣고, 어디에 컨트롤러를 넣을지 등등.)어떤 특정한 목적을 위해 만들어진 코드의 집합으로, 개발자는 이를 확장하여 자신이 필요한 기능을 추가하거나 수정해서 사용함
※ 한 때 이슈였던, React는 라이브러리인가 프레임워크인가!?
React 공식문서를 보면, React는 사용자 인터페이스를 만들기 위한 JavaScript 라이브러리입니다.라고 명시되어있으니까 확실하게 라이브러리이다.
React는 개발자가 필요한 경우, 선택적으로 다른 라이브러리나 프레임워크와 함께 사용할 수 있다.
ex) React는 Redux와 함께 사용될 수 있으며, 이 경우 Redux가 상태 관리를 담당하고 React는 UI를 업데이트한다. 따라서, React는 라이브러리이지만 다른 라이브러리와 함께 사용될 때, 프레임워크와 유사한 기능을 제공한다.