라이브러리와 프레임워크의 비교

김세빈·2025년 4월 12일

CS

목록 보기
10/22

라이브러리와 프레임워크의 차이를 명확히 이해하자

소프트웨어 개발을 하다 보면 “라이브러리”와 “프레임워크”라는 용어를 자주 마주친다.
둘 다 공통 기능을 모듈화한 코드 집합이지만, 구조적 엄격성자유도에서 뚜렷한 차이가 존재한다.


1. 라이브러리란 무엇인가

  • 공통 기능을 모듈화한 코드 묶음이다.
  • 폴더명·파일명에 대한 강제 규칙이 없다.
  • 개발자가 필요한 시점에 직접 호출해 사용한다.
  • 자유도가 높다. 원하는 곳에 끼워 넣고, 필요 없으면 제외할 수 있다.
  • 반면 제공 기능은 프레임워크보다 적다.

대표 예시 – Axios

Axios는 HTTP 요청 기능만 깔끔하게 제공하는 경량 라이브러리다.
Vue·React·Node 등 어떤 환경에서도 axios.get()을 호출하면 끝이다.


2. 프레임워크란 무엇인가

  • 특정 도메인(웹, 모바일 등)의 전반적 기능을 모듈화한 집합이다.
  • 폴더·파일 구조, 네이밍 컨벤션, 생명주기엄격히 규정돼 있다.
  • 코드 흐름의 주도권이 프레임워크에 있다(제어의 역전, IoC).
  • 덕분에 많은 기능(라우팅, 상태 관리, 빌드 등)을 out‑of‑the‑box로 제공한다.
  • 자유도는 라이브러리보다 낮다. 규칙을 어기면 정상 동작하지 않는다.

대표 예시 – Vue.js & Django

  • Vue.js: 싱글 파일 컴포넌트(.vue), src·public 폴더 구조, CLI 빌드 파이프라인 등이 고정돼 있다.
    • Vue 프로젝트 안에서는 Axios 같은 라이브러리를 손쉽게 끼워 넣을 수 있다.
    • 하지만 React 전체를 Vue 내부에 통째로 삽입하기는 구조적 제약 때문에 어렵다.
  • Django: settings.py, urls.py, apps/ 폴더 등 정형화된 스캐폴딩을 따른다.
    • ORM, 인증, 어드민, 템플릿 엔진까지 한 번에 제공한다.

3. 라이브러리 vs 프레임워크 – 핵심 비교표

구분라이브러리프레임워크
호출 주체내가 라이브러리를 호출한다프레임워크가 내 코드를 호출한다
구조 규칙거의 없음폴더·파일·네이밍 규칙이 명확
제공 기능좁고 집중적이다넓고 포괄적이다
자유도높다상대적으로 낮다
예시Axios, Lodash, D3.jsVue.js, React(메타‑프레임워크 Next.js), Django

4. 언제 무엇을 선택해야 할까

  • 작은 기능만 필요하고 기존 아키텍처를 유지하고 싶다면 라이브러리를 도입한다.
  • 애플리케이션 구조 전반을 빠르게 잡고 싶고, 팀원 간 일관된 규칙이 필요하다면 프레임워크를 선택한다.

0개의 댓글