jineecode

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

지식

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

지니코딩 2022. 2. 13. 13:24

프레임워크(Framework)

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

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

라이브러리(Library)

라이브러리는 단순 활용가능한 도구들의 집합.

즉, 개발자가 만든 클래스에서 호출하여 사용, 클래스들의 나열로 필요한 클래스를 불러서 사용하는 방식을 취하고 있습니다.

 

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

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

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

프레임워크는 전체적인 흐름을 스스로가 쥐고 있으며 사용자는 그 안에서 필요한 코드를 짜 넣으며

라이브러리는 사용자가 전체적인 흐름을 만들며 라이브러리를 가져다 쓰는 것이라고 할 수 있습니다.

 

다시 말해, 라이브러리는 라이브러리를 가져다가 사용하고 호출하는 측에 전적으로 주도성이 있으며

프레임워크는 그 틀안에 이미 제어 흐름에 대한 주도성이 내재(내포)하고 있습니다.

 

프레임워크는 가져다가 사용한다기보다는 거기에 들어가서 사용한다는 느낌/관점으로 접근할 수 있습니다.

 

출처: https://webclub.tistory.com/458

 

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

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

webclub.tistory.com

 




react 와 next.js 둘 다 사용해보았다면 이 개념이 쉽게 와닿는 것을 알 수 있다.

 

react-create-app 을 하게 될 경우, SEO를 넣기 위해 react-helmet 라이브러리를 깔아주거나, react-router 라이브러리를 깔아주어야 한다. '개발자'가 주도하는 개발이다. 때문에 개발자마다 구조 잡는 법이 다르다.

 

하지만 next.js(프레임워크)에서는 이미 그러한 기능들이 next.js 안에 내포되어 있기 때문에 Head를 호출해서 SEO를 적용하거나 page 폴더 내에 파일만 만들면 라우터를 자동으로 만들어준다. 다만, 개발자는 nextjs 프레임워크가 세워둔 규칙을 따라야 한다. 

'지식' 카테고리의 다른 글

BOM과 DOM  (0) 2021.05.17
SSR, CSR, TTV, TTI  (0) 2021.05.17
프로세스와 스레드의 차이(Process vs Thread)  (0) 2021.04.15
스크립트 언어  (0) 2021.02.15
절차적 프로그래밍 언어  (0) 2021.02.15
Comments