라이브러리vs프레임워크
#web
#resource
작성일:2025. 4. 18.
수정일:2025. 4. 18.
라이브러리#
라이브러리는 도구 상자와 같다.
- 개념: 특정 기능을 수행하는 코드 모음
- 사용 방식: 필요할 때만 꺼내서 사용함
- 주도권: 개발자가 주도권을 가짐(내가 필요할 때 사용)
프레임워크#
프레임 워크는 집의 기초 구조와 같다.
- 개념: 애플리케이션 개발을 위한 뼈대, 구조
- 사용 방식: 프레임워크가 정한 틀 안에서 개발
- 주도권: 프레임워크가 주도권을 가짐 (프레임워크가 내 코드를 호출)
주요 차이점#
-
제어 흐름(Control Flow)
- 라이브러리: 개발자가 코드의 흐름을 제어한다. 필요할 때 라이브러리를 호출하여 사용한다.
- 프레임워크: 프레임워크가 코드의 흐름을 제어한다. 프레임워크가 정한 규칙과 구조에 맞게 개발자가 코드를 작성한다.
-
제어의 역전(Inversion of Control)
- 라이브러리: 제어의 역전이 없다. 개발자가 라이브러리를 호출한다.
- 프레임워크: 제어의 역전이 있다. 프레임워크가 개발자의 코드를 호출한다.
-
유연성과 자유도
- 라이브러리: 높은 유연성과 자유도를 제공한다. 다양한 라이브러리를 조합하여 사용할 수 있다.
- 프레임워크: 제한된 유연성을 가지며, 프레임워크의 규칙을 따라야 한다.
-
구조와 아키텍처
- 라이브러리: 특정 기능을 제공하는 코드 모음으로, 전체 애플리케이션 구조에 영향을 미치지 않는다.
- 프레임워크: 애플리케이션의 전체 구조와 아키텍처를 제공한다.
-
사용 목적
- 라이브러리: 특정 문제 해결이나 기능 구현에 중점을 둔다.
- 프레임워크: 표준화된 개발 환경과 패턴을 제공한다.
-
학습 곡선
- 라이브러리: 상대적으로 낮은 학습곡선을 가진다. 필요한 부분만 배워서 사용할 수 있다.
- 프레임워크: 높은 학습 곡선을 가진다. 프레임워크의 철학과 구조를 이해해야 한다.
-
통합성
- 라이브러리: 독립적으로 작동하며, 필요에 따라 다른 라이브러리와 함께 사용할 수 있습니다.
- 프레임워크: 여러 라이브러리와 도구들을 포함하고 있으며, 일관된 환경을 제공한다.