유사한 개념인데 프로그래밍의 재사용성을 위해
개발자가 사용할 수 있는 집합이라고 볼 수 있습니다.
다만, 규모나 사용 방법, 목적 등에서 조금씩 다를 수 있습니다.
프레임워크 > 라이브러리 > 모듈, 플러그인 순으로 규모를 가집니다.
그외에 API도 라이브러리와 혼동되는 경우가 있는데,
API는 다양한 서비스를 제공하는 것을, 라이브러리는 개발자의 재사용성을
목적으로 한다는게 대표적인 차이점입니다.
설명과 예시를 함께 보면서 상세히 알아봅시다.
프레임워크(Framework):
•
개발자가 사용할 코드의 틀을 제공하며, 프로젝트 구조와 흐름을 정의합니다.
•
라이브러리와 차이점 : Flow(흐름)에 대한 제어 권한을 자체적으로 가지고 있음
•
예시: Spring, VueJS, React, Bootstrap, 라라벨
라이브러리(Library):
•
특정 기능을 수행하기 위한 함수, 클래스 또는 모듈의 모음입니다.
•
개발자가 필요한 기능을 불러와 사용합니다.
•
프레임워크의 일부로도 사용됩니다.
•
프레임워크와 차이점 : Flow(흐름)에 대한 제어 권한을 사용자가 가지고 있음
•
예시: Jquery
플러그인(Plugin):
•
다른 소프트웨어에 추가 기능을 제공하는 소프트웨어 컴포넌트
•
주로, 특정 플랫폼에 종속되어 작동하며, 호스트 환경에 통합되어야 합니다.
•
예시: Jquery UI
모듈(Module):
•
별도의 파일로 분리된 독립된 기능을 뜻한다.
•
미리 만들어둔 함수들의 집합으로 보기도 한다.
•
주로 코드의 구조화와 의존성 관리를 위해 사용됩니다.
•
웹개발에서는 라이브러리 > 패키지 > 모듈 순으로 나열합니다. (예시:npm)
•
예시: Node.js의 모듈 시스템에서 각각의 JavaScript 파일은 모듈이 될 수 있습니다.
API(Application Programming Interface):
•
다른 프로그램이나 시스템에서 이용할 수 있도록 제공되는 인터페이스
•
서로 다른 서비스간의 상호작용을 하는 규약
•
다양한 서비스를 제공하는 데 목표를 두고 있습니다.
•
예시: Facebook API, Kakao API, Naver API
<참고>
•
티스토리 게시글 : https://mundol-colynn.tistory.com/123