컴퓨터/컴퓨터 관련 지식

개발용어 - 라이브러리(Library) vs 프레임워크(Framework)

달서비 2021. 11. 27. 03:16

이번에는 개발을 하시는 분들이 차이를 햇갈려하는 개념인 라이브러리와 프레임워크를 알아보는 시간을 가져보려고 합니다. 두가지 개념이 비슷하지만 차이점도 있기 때문에 각각이 어떤 특성을 가지고 있는지 알아보겠습니다. 

건축에는 뼈대와 이것들을 조립하는 도구들이 있다.

 

라이브러리 (Library)

다양한 도구들 - 픽사베이

라이브러리는 도서관이라는 뜻을 가지고 있습니다만 컴퓨터에서의 정의는 프로그램의 공통으로 사용하는 함수 or 도구들의 집합입니다. 프로그램 개발을 보다 편리하게 하여 다양한 기능들을 만들 수 있습니다. 우리가 맨주먹으로도 개발할수 있으나 도구들을 이용하여 훨씬 다채롭게 개발할 수 있습니다.

 

ex) JQuary(Javascript), Numpy(Python), DirectX(C++)

 

프레임워크 (Framework)

가장 가까운 예시 (과학상자)

프레임워크는 뼈대, 틀 이라는 뜻을 가지고 있습니다. 라이브러리가 도구 하나하나를 의미한다면 프레임워크는 그보다 더 큰 틀을 사용하였습니다. 차이가 감이 안오시면 과학상자를 생각하시면 됩니다. 과학상자를 통하여 우리가 여러가지 제품들을 쉽게 만들 수 있으나 하지만 프레임워크는 주어진 틀을 이용하여 제작하기 때문에 온전히 모든 것을 제작할 수 없습니다. 협업을 하는경우 호환성에 관한부분에 큰 역할을 줍니다.

 

ex) Lalavel(PHP), Flask(Python), Bootstrap(Javascript)

 

라이브러리 vs 프레임워크

앞에서 말한것과 같이 두가지 개념은 주어진 도구를 통하여 제작에 용이하게 한다는 특징을 가지고 있습니다. 두개념의 결정적인 차이점은 자유도 입니다. 라이브러리는 도구에 가까운 개념이고 프레임워크는 뼈대에 가까운 개념이라서 프레임워크를 다룰때 라이브러리를 통하여 다루게 됩니다.