본문 바로가기
Etc.

라이브러리 vs 프레임워크

by Jammini 2023. 12. 14.
728x90

목차

  1. 라이브러리(Library)란?
  1. 프레임워크(Framework)란?
  1. 라이브러리 vs 프레임워크
  1. 결론

1. 라이브러리(Library)란?

응용 프로그램 개발을 위해 필요한 기능(함수)을 모아 놓은 소프트웨어

특징

  • 독립성을 가짐.(다른 라이브러리랑 의존하지 않음)
  • 응용 프로그램이 능동적으로 라이브러리를 사용.
    • 내가 작성한 프로그램이 해당 라이브러리 기능이 필요할때 호출해서 사용.
  • 예시
    1. Browser환경에서 script src 로 불러들이는 js파일(JQuery, React 등)
    1. node.js 환경에서 npm으로 설치한 모듈
    1. Python 환경에서 pip로 설치한 패키지/모듈
    1. Java 환경에서 설치한 jar

2. 프레임워크(Framework)란?

응용 프로그램이나 소프트웨어의 솔루션 개발을 수월하게 하기 위해 제공된 소프트웨어 환경

특징

  • 상호협력하는 클래스와 인터페이스의 집합.
  • 응용 프로그램이 수동적으로 프레임워크에 의해 사용한다.
  • 예시
    1. Java 서버 개발에 사용되는 Spring
    1. Python 서버 개발에 사용되는 Django, Flask
    1. 안드로이드 앱 개발에 사용되는 Android
    1. 아이폰 앱 개발에 사용되는 Cocoa Touch
    1. 웹 개발에 사용되는 React, Angular, Vue.js 등

3. 라이브러리 vs 프레임워크

가장 큰 차이점은 "코드 흐름의 제어권"이 누구에게 있느냐이다.

1. 라이브러리

  • 라이브러리의 객체나 함수를 개발자가 직접 호출하여 사용한다.

2. 프레임워크

  • 개발자가 구현한 메서드가 프레임워크에 의해 호출된다.
  • 이를 제어의 역전(IoC: Inversion of Control)이라고 한다.

4. 결론

  • 라이브러리는 개발자가 필요할 때 선택적으로 사용할 수 있는 도구 모음이다.
  • 프레임워크는 애플리케이션의 전체 구조와 제어 흐름을 정의하고 개발자는 프레임워크의 규칙을 따라야 한다.

참고

반응형