10월 19일 (화) 라이브러리(Library)와 프레임워크(Framework)의 차이

남이섬·2021년 10월 19일
0

라이브러리(Library)

단순 활용이 가능한 도구들의 집합

라이브러리는 주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 집합한다
여기에는 미리 작성된 코드, 변수, 함수, 클래스가 포함될 수 있다

개발자가 개발하는데 필요한 것들을 모아둔 도구들의 나열로 필요할 때 호출하여 사용하는 방식을 취하고 있다

프레임워크(Framework)

소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합

프레임워크는 소프트웨어 어플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프웨어 환경을 말한다

프레임워크는 애플리케이션 개발 시 필수적인 코드, 알고리즘, 데이터베이스 연동 등과 같은 기능을 위해 어느정도 뼈대를 제공해주는 것이다

그러한 뼈대 위에 개발자가 코드를 작성하여 애플리케이션을 완성해야한다, 어느정도 뼈대를 제공해 주기 때문에 객체지향 개발을 하면서 일관성 부족 등의 문제를 해결해 준다

라이브러리(Library)와 프레임워크(Framework)의 차이

프레임워크와 라이브러리의 차이는 흐름(Flow)에 대한 제어 권한이 어디에 있는냐의 차이이다

프레임워크는 전체적인 흐름을 자체적으로 가지고 있으며, 프로그래머가 그 안에 필요한 코드를 작성

라이브러리는 사용자가 흐름에 대해 제어를 하며 필요한 상황에 가져다 쓰는 것

프레임워크에는 제어의 역전(Inversion Of Control)이 적용되어있다

library

  • 개발자가 사용하는것, 사용자가 library를 불러와서, 사용자가 library를 사용해서 무언가를 한다
  • library를 사용할 때는 네가 원하는 대로 코드를 작성할 수 있고, 사용하고 싶을 때 사용할 수 있다
    ex) React

framework

  • 코드를 불러오는 것, 만약 코드를 적절한 위치에 잘 적기만 하면 framework는 사용자가 작성한 코드를 불러와서 모든 걸 동작하게 한다
    ex) Next.js

즉,
React에서는 ReactDOM.render라는 함수를 통하여 render되는 형식을 및 모든 동작과정을 볼 수있는 반면, Next.js는 render되는 code를 볼 수 없다, 즉 render과정에서 사용자가 개입하여 커스텀을 할 수 없다, Next.js는 pages안에서 뭔가를 만드는 것 뿐이다
Next.js는 render되는 과정이 추상화(abstraction) 되어 직접 접근을 할 수 없다

framework는 코드를 어떤 곳에 넣으면, framework가 그 코드를 부르는 형태다

profile
즐겁게 살자

0개의 댓글