현인

[Next.js] 라이브러리 vs 프레임워크 본문

기술 학습

[Next.js] 라이브러리 vs 프레임워크

현인(Hyeon In) 2023. 4. 17. 20:31

들어가며

Next.js는 프레임워크이고 React는 라이브러리이다. 노마드코더 강의에서 프레임워크와 라이브러리의 차이에 대해 간략히 설명해주었는데, 제대로 된 차이점을 이해하고 싶어서 더 알아보려한다.


프레임워크란?

프레임워크는 말 그대로 뼈대나 기반구조를 뜻하고, 제어의 역전 개념이 적용된 대표적인 기술이다.

소프트웨어에서의 프레임워크는 '소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합' 이라 할 수 있다. 따라서 완성된 어플리케이션이 아닌 추상화된 어플리케이션이라고 볼 수 있다.

개발자는 이 추상화된 부분들을 완성하면 된다.

프레임워크의 특징

  • 특정 개념들의 추상화를 제공하는 여러 클래스나 컴포넌트로 구성되어 있다
  • 추상적인 개념들이 문제를 해결하기 위해 같이 작업하는 방법을 정의한다
  • 컴포넌트들의 재사용이 가능하다
  • 높은 수준에서 패턴들을 조작화 할 수 있다

라이브러리란?

라이브러리는 단순 활용가능한 도구들의 집합을 말한다. 즉, 개발자가 만든 클래스에서 필요한 라이브러리를 호출하여 사용한다. 

프레임워크와 라이브러리의 차이점

라이브러리와 프레임워크의 차이는 제어 흐름에 대한 주도성이 누구에게 있는가에 있다.

즉, 어플리케이션의 flow(흐름)를 누가 쥐고 있느냐에 달려있다

  • 프레임워크
    • 전체적인 흐름을 스스로가 쥐고 있으며 사용자는 그 안에서 필요한 코드를 작성한다
  • 라이브러리
    • 사용자가 전체적인 흐름을 만들면서 라이브러리를 가져다 쓰는 것

다시 말해, 라이브러리는 가져다가 사용하기에 호출하는 측에 주도성이 있고, 프레임워크는 작성한 코드가 프레임워크에 의해 사용되기에 주도성이 프레임워크에 있다.

여기서 제어의 역전 개념이 프레임워크에 적용되어 있다는 것을 알 수 있다.


마치며

조금 모호했던 개념을 확실히 잡고 가는 것 같아서 기분이 좋다. 확실히 이해하고 다시 보니 React는 라이브러리여서 라우팅, 컴포넌트, 폴더 구조 등 전체적인 흐름을 직접 잡아주었었다. 반면 Next.js는 별도의 라우팅을 설정할 필요 없이 pages안에 작성된 페이지들을 알아서 라우팅 해주었다. 이런 차이점이 프레임워크와 라이브러리의 차이로 부터 나온다는 것이 신기했고 프레임워크의 대단함을 느꼈다.

 

출처

- https://webclub.tistory.com/458

 

프레임워크와 라이브러리의 차이점

Framework Vs Library 프레임워크와 라이브러리의 정확한 차이점은 무엇일까요? 대중 알것 같지만 정확히 어떠한 차이점이 있는지 모르고 있는 경우가 많을지도 모릅니다. 프레임워크는 단지 미리 만

webclub.tistory.com

반응형