프레임워크와 라이브러리는 프로그래밍을 쉽게 할 수 있도록 도와주는 역할을 한다. 이 둘의 차이점과 특징에 대해 정리해보고자 한다.
프레임워크는 일정한 형태와 필요한 기능을 갖추고 있는 코드의 집합이다.
프레임워크는 정해진 규칙이 있다. 개발자는 정해진 규칙에 따라 작업을 해야 한다.
제어의 역전(IoC: Inversion of Control)
프레임워크에 프로그램 제어 권한을 위임하는 것.
즉, 프로그램 제어를 개발자가 아닌 프레임워크가 하여 제어 흐름 구조가 뒤바뀐 것을 말한다.
라이브러리는 개발 시 활용 가능한 특정 기능을 모아둔 코드와 함수들을 모아 모듈화한 것을 말한다.
개발 시 반복되어 사용되는 기능을 매번 코드로 구현한 다는 건 매우 비효율적이다. 따라서 잘 만들어진 모듈화된 코드를 가져다 사용하는 것이다.
React는 자유도가 높은 라이브러리이다.
라우터나 상태 관리 등의 기능이 내장되어 있지 않으며 공식적인 라이브러리가 있는 것도 아니다.
라우터가 필요하다면 react-router, 상태 관리가 필요하다면 Redux, Recoil 같은 라이브러리를 설치하면 된다.
React는 뷰만 관리하고 나머지 기능은 써드파티 라이브러리를 통해 관리하는 것이다.
프레임워크와 라이브러리는 자유도와 제어의 흐름에 차이가 있다.
프레임워크를 사용한다면, 프레임워크가 원하는 방식 대로 코드를 작성해야 한다. (규칙 존재)
라이브러리는 내가 원하는 대로 코드를 작성한다. 내가 코드를 컨트롤할 수 있다.
프레임워크는 밀키트 🥙
라이브러리는 펜트리에 있는 식재료 🥕🥦