728x90
목차
- 라이브러리(Library)란?
- 프레임워크(Framework)란?
- 라이브러리 vs 프레임워크
- 결론
1. 라이브러리(Library)란?
응용 프로그램 개발을 위해 필요한 기능(함수)을 모아 놓은 소프트웨어
특징
- 독립성을 가짐.(다른 라이브러리랑 의존하지 않음)
- 응용 프로그램이 능동적으로 라이브러리를 사용.
- 내가 작성한 프로그램이 해당 라이브러리 기능이 필요할때 호출해서 사용.
- 예시
- Browser환경에서 script src 로 불러들이는 js파일(JQuery, React 등)
- node.js 환경에서 npm으로 설치한 모듈
- Python 환경에서 pip로 설치한 패키지/모듈
- Java 환경에서 설치한 jar
2. 프레임워크(Framework)란?
응용 프로그램이나 소프트웨어의 솔루션 개발을 수월하게 하기 위해 제공된 소프트웨어 환경
특징
- 상호협력하는 클래스와 인터페이스의 집합.
- 응용 프로그램이 수동적으로 프레임워크에 의해 사용한다.
- 예시
- Java 서버 개발에 사용되는 Spring
- Python 서버 개발에 사용되는 Django, Flask
- 안드로이드 앱 개발에 사용되는 Android
- 아이폰 앱 개발에 사용되는 Cocoa Touch
- 웹 개발에 사용되는 React, Angular, Vue.js 등
3. 라이브러리 vs 프레임워크
가장 큰 차이점은 "코드 흐름의 제어권"이 누구에게 있느냐이다.
1. 라이브러리
- 라이브러리의 객체나 함수를 개발자가 직접 호출하여 사용한다.
2. 프레임워크
- 개발자가 구현한 메서드가 프레임워크에 의해 호출된다.
- 이를 제어의 역전(IoC: Inversion of Control)이라고 한다.
4. 결론
- 라이브러리는 개발자가 필요할 때 선택적으로 사용할 수 있는 도구 모음이다.
- 프레임워크는 애플리케이션의 전체 구조와 제어 흐름을 정의하고 개발자는 프레임워크의 규칙을 따라야 한다.
참고
반응형
'Etc.' 카테고리의 다른 글
Redis 캐시 적용으로 성능 개선하기 (0) | 2024.03.15 |
---|---|
Auditing을 고려한 테이블 설계 과정 (0) | 2024.03.02 |
Scale out시 세션불일치 방지를 위한 Redis 선정과정 (1) | 2024.02.23 |
젠킨스를 통한 CI/CD 구성하기 - CD (2) | 2024.02.12 |
젠킨스를 통한 CI/CD 구성하기 - CI (1) | 2024.02.06 |