본문 바로가기

카테고리 없음

프레임워크 vs 라이브러리 vs API

반응형

 

프레임워크

응용 프로그램이나 소프트웨어의 솔루션 개발 효율 향상을 목표로하는 소프트웨어 환경으로, 즉 프로그램에 기본이 되는 뼈대나 틀을 말한다

 

ex) JAVA 기반의 spring framework, python 기반의 django, javascript 기반의 node js

특징

  • 소프트웨어의 형식 제공 → 규칙을 지켜가며 사용
  • 응용프로그램이 수동적으로 프레임워크에 의해 사용됨

라이브러리

개발자가 사용할 수 있는 API들을 종류나 목적에 따라서 나누어 정의한 API 묶음,

즉 재사용 가능한 코드의 집합

 

ex) jQuery

특징

  • 작은 기능들을 함수단위로 만들어 제공
  • 응용프로그램이 능동적으로 라이브러리 사용

 

API (Application Programming Interface)

응용프로그램에서 사용할 수 있도록 운영체제나 다른 프로그램이 제공하는 기능을 제어할 수 있게 만든 인터페이스

 

ex) 구글 지도 api /map/위도&경도

특징

  • 인터페이스이기 때문에 안에 무엇이 들어있는지 알 수 없음
  • 접근권한을 부여받아야함
  • 구현과 독립적으로 사양만 정의되어있음

집 짓는 과정을 프로그래밍으로 비교해 보자

집의 평면도 = 프레임워크
집의 가구(에어컨, 냉장고, 변기 등) = 라이브러리
가구를 제어하는 리모컨 = API

API와 라이브러리의 차이는?

구현로직의 유무

API는 호출을 위한 수단으로 구현 로직을 알 수 없다

라이브러리는 구현 로직이 존재한다

예를 들어 라이브러리를 통해 빵을 만들 수 있다면 API는 빵을 만들어 달라! 라고 요청하는 것이다

 

라이브러리와 프레임워크의 차이는?

응용프로그램의 흐름 주도권을 누가 가지고 있는지

라이브러리는 개발자가 흐름 주도권을 가지고 라이브러리를 호출한다.

하지만 프레임워크의 경우 프레임워크가 흐름 주도권을 가지며 프레임워크의 규칙을 따라 개발해야한다.

 

 


reference

https://velog.io/@tjdud0123/API-vs-라이브러리-vs-프레임워크

반응형