2) 라이브러리와 프레임워크의 차이 (React.js / Next.js)

2025. 4. 7. 15:46Basic_Code

 

개요

- Next.js 를 다뤄보면서 라이브러리와 프레임워크 차이에 대해 알아보는 것도 좋을 것 같다는 생각이 들었다. 

  이러한 차이는 React.js와 Next.js등의 동작방식을 아는데 도움이 된다.

 

 

라이브러리 : 코드내에서 내가 사용하는 것 ( 여기서 주체는 사용하는 사용자이다 ) -> 주도권은 사용자에게 있다.

 : 코드 내에서 사용하려고 설치하는 것이지만 사용의 주체는 나 = 우리가 필요할 때 사용할 수 있다 (도움이 필요할 때만 가져와서 사용할 수 있음을 의미하기도 함) => 이것에 관한 모든 결정을 하는 것은 사용자다.

= 원하는 아키텍처를 사용하여 원하는 방식으로 코드를 사용한다 

= 내가 원한다면 함수 지향 프로그래밍을 할 수도, 객체지향프로그래밍을 하는 등 원하는 언어로 사용할 수 있다.
= 구조에 관한 모든 결정을 내리는 것은 사용자(나)

ex. 파일을 어디에 저장할지, 폴더의 이름은 무엇이 될 지, 파일의 이름은 무엇이 될 지, sass를 사용할 지, style-components를 사용할지 등등 

 

 

프레임워크 : 우리의 코드를 사용하는 것 -> 주도권은 프레임워크에 있다.

: 여러가지 결정을 프레임워크가 해주고 자동화 할 수 있다. = 우리가 결정을 내릴 필요가 없다.

ex. 파일을 어디에 저장할 지, 어플리케이션을 시작할 지, css support, data fetching..등등 결정을 할 필요가 없다

= 사용자에게 통제권이 없다.

= 이러한 것들을 사용하기 위해선 프레임워크의 규칙을 따라야 한다. ex. 올바른 방법으로 올바른 위치에 파일을 넣기

= 우리가 import를 해서 사용하는 개념이 아닌, 프레임워크가 우리의 코드를 call 하는 개념

ex. React의 경우, 필요한 경우 다른 라이브러리등을 설치하여 import해서 불러와 사용했지만, Next.js의 경우 Next.js 규칙에 따라 올바르게 코드를 작성하고 함수에 올바른 이름을 지정하고, 변수를 올바른 모양으로 export하면 Next.js가 웹사이트를 구축해준다.

 

=> 좋은 기능들을 프레임워크가 이미 가지고 있으므로 우리는 프레임워크의 규칙에 따라 export를 해주면 많은 것들이 자동적으로 완성되어 구축되어진다.