Framework, Library 정의

YCCHOI·2021년 8월 21일
0
post-thumbnail

프레임워크(Framework)? 라이브러리(Library)?

일단 라이브러리, 프레임워크는 둘다 다른 누군가가 쓴 코드인데, 우리의 프로젝트를 위해서 가져다 쓰는거다.
누가 누구를 컨트롤 하는가?
내가 모든 결정을 다 내리며 코드를 컨트롤 하는가? 아니면 누군가 정해준 규칙을 따라하고 있는가?
라이브러리 : jQuery
웹사이트에 인터랙티브한 요소를 넣을 수 있는데, 내가 필요할때 jQuery를 소환한다.
내가 필요할 때 쓴다. 다른걸로 대체도 할 수 있고. 그래도 프로젝트가 망가지지 않는다.

Python - Datetime, Pandas, Beautifulsoup
Java - Guava, Apache common library
C++ - STL

프레임워크는 다르다. 내가 불러서 쓰는 것이 아니고, 프레임워크가 나를 부른다.
프레임워크의 규칙을 따라야한다, 어디에 코드를 넣어야하는지 알려준다.
어디에 템플릿을 넣고, 컨트롤러 넣고, 뷰를 넣고.
django 웹 프레임워크.
어드민 패널을 만들고 싶다? admin.py, URL 바꾸고 싶다? url.py
django 문서를 보면서 규칙에 따라 코드들을 잘 넣어두면 django가 시작할 때 해당 파일들을 읽기 때문.

Java - Spring
Python - Django
PHP - Laravel
JavaScript - React
GO - Revel
Ruby - Rails

정리

내가 라이브러리를 부르고, 프레임워크가 나를 부른다.
"000을 빌드하기 위한 000 라이브러리" - 내가 필요할 때 불러 사용할 수 있다.
"000을 빌드하기 위한 000 프레임워크" - 규칙과 문서가 따라오며, 내가 적극 수용해야함.

  • 공통점 : 프로그램을 쉽게 만들 수 있게 하는 공통된 목적이 있음
  • 차이점 : 자유도. 프레임워크는 꼭 써야되는 것과 지켜야되는 룰이 있다. 라이브러리는 쓰든 안 쓰든 자기 마음이다.

혼돈의 카오스, 함정카드 발동.

  • 이건 죽어도 프레임워크야, 라이브러리야 할 것은 없지만, 머리로 이론은 이해하고 있자.

📚 Reference
라이브러리? 프레임워크? 차이점 아직도 모름? 5분 순삭.

0개의 댓글