> For the complete documentation index, see [llms.txt](https://nelmm.gitbook.io/til/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nelmm.gitbook.io/til/common/library-framework.md).

# 라이브러리와 프레임워크

## 라이브러리

특정 기능을 제공하는 도구 , 함수들의 집합으로써, 원하는 기능이 있을때 라이브러리만 존재한다면 언제든 가져다 사용할 수있다.

소프트웨어를 개발하기 쉽게 어떤 기능을 제공하는 일종의 도구

\ <br>

## 프레임워크

뼈대나 기반구조를 의미

어떠한 제품을 만들기 위해서 도움을 주거나 기반이 되는 역할

각 프레임워크마다 특정 제품을 만들기 위한 요소나 규칙을 제공해줌으로서 생산성과 품질을 높이는 역할로 일종의 공장(?)\
*(공장안에 규칙이 존재하는 것과 같다.)*

<br>

## 공통 목적과 차이점

두개 모두 프로그램을 만들기 쉽고 용이하게 돕고자 만들어졌다.

누군가는 라이브러리는 자유롭고 프레임워크는 자유롭지 못하다고 설명할 수 있는데 이는 다른 시각에서 보면 틀린말이다.

프레임워크는 틀을 제공할뿐이지 그 안에서는 어떤 기능을 만들기 위해서는 어떠한 방법을 사용해도 무방하나 어떤 기능을 제공하는 라이브러리를 사용한다고 한다면 이를 내가 원하는 기능으로 수정하기는 새로만드는 거보다 더 어려울 수 있기 때문이다.

두 개를 흑백논리로 이게 좋고 이게 안좋은것으로 구분하는 것이 아닌 제공하는 목적이 다름을 이해하고 사용하자.
