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

김진영·2022년 8월 16일
0

CS

목록 보기
3/6
post-thumbnail

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

프레임워크? 라이브러리?

필자가 React와 Vue 등을 접하면서 처음에 가장 궁금했던게 바로 프레임 워크와 라이브러리의 차이점이다.

나는 처음에 둘다 효율적으로 개발할 수 있게 해주는 도구? 같은 느낌으로 받아들여져서 뭐가 다른건지 알 수가 없었다.

처음 접하면 정말 헷갈리는 프레임워크와 라이브러리, 지금부터 그 둘의 특징과 차이점에 대해 설명해보겠다.


📌 1. 프레임워크 (Framework)

컴퓨터 프로그래밍에서 소프트웨어 프레임워크(software framework)는 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조이다. 간단히 뼈대, 골조(骨組), 프레임워크(framework)라고도 한다. 이렇게 매우 폭넓은 정의는 이 용어를 버즈워드(buzzword)로서, 특히 소프트웨어 환경에서 사용할 수 있게 만들어 준다. - 위키백과

원하는 기능 구현에만 집중하여 개발할 수 있도록 일정한 형태와 필요한 기능들을 갖추고 있는 뼈대 역할을 한다.

대표적으로

  • Java 서버 개발에 사용되는 Spring,
  • Python 서버 개발에 사용되는 Django, Flask
  • 안드로이드 앱 개발에 사용되는 Android
  • 아이폰 앱 개발에 사용되는 Cocoa Touch
  • JavaScript 웹 개발에 사용되는 Angular, Vue.js

등이 있다.


📌 2. 라이브러리 (Library)

소프트웨어의 구성요소 중 한가지로, API를 바탕으로 대상 환경(플랫폼)에서 바로 실행될 수 있도록 모듈화된 프로그램 모음이다. 라이브러리는 혼자서 동작하는 완전한 프로그램이 아닌, 특정한 부분 기능만을 수행하도록 제작된, 컴파일되어 기계어의 형태로 (또는 대상 플랫폼에 따라서는 바이트코드로) 존재하는 프로그램이다. - 나무위키

라이브러리란 자주 사용되는 로직들을 재사용하기 쉽게 정리한 일련의 코드들의 집합이라고 할 수 있다.

유명한 라이브러리로는

  • JavaScript의 jQuery, React
  • Python 수학 계산을 도와주는 Numpy, Tensorflow
  • Java 를 위한 오픈 소스 게임 개발 라이브러리 LWJGL

등이 있다.


📌 3. 프레임워크와 라이브러리의 차이

1번과 2번의 설명으로도 이해하지 못할 수 있다.
나도 처음엔 그랬다.

그래서 요리를 예시로 설명하자면,
프레임워크는 요리하는데 필요한 모든것이 다 갖춰진 주방이라고 할 수 있겠다.

모든것이 다 갖춰진 주방은 매우 편리하다.
하지만 이 주방이라는 틀 안에서 작업을 해야하기 때문에 여기서 제공하는 도구와 방식에 맞춰서 작업해야하고, 원하는 제품으로 교체할 수 없다.

그에비해 라이브러리는 전기포트, 냄비 등 각각의 도구라고 볼 수 있다.
원하는 도구만을 골라서 사용할 수 있지만, 모든 기능을 제공하진 않기에 여러 도구들을 생각하고 조합해서 사용해야 한다.

즉, 작업을 하면서 필요한 기능을 제공하는 라이브러리들을 내 작업에 가져와서 사용하게 된다고 보면 된다.

1개의 댓글

comment-user-thumbnail
2022년 8월 17일

😒

답글 달기