Library와 Framework의 차이는?
기능 구현의 주도권이 누구에게 있는가에 따라 나뉜다.
- Library : 주도권이 개발자에게 있음. ex) React.js, jQuery 등
- 기능 구현을 원하는 방향으로 진행
- 쓰고싶은 도구, 쓰고싶은 기술을 사용
ex) React.js 사용 시, 페이지 라우팅 기능을 구현해야한다면 React Router나 TanStack Router 라이브러리를 사용- Framework : 주도권이 개발자에게 없음. ex) Next.js, Remix 등
- 프레임워크가 제공하는 기능을 이용하거나, 허용하는 범위 내에서만 추가 도구 사용 가능
ex) Next.js 사용 시, 페이지 라우팅 기능을 구현해야한다면 Next.js가 제공하는 라우터인 Page Router 또는 App Router를 사용
| React.js | Next.js | |
|---|---|---|
| 정의 | UI 개발을 위한 JavaScript "Library" | React.js 전용의 웹 개발 "Framework" |
| 장점 | 자유도가 높다 | 거의 모든 기능을 제공 - Page Routing - Optimizations - Server Pre Rendering |
| 단점 | 기본 기능 외 제공 x | 자유도가 낮다 |