Study/기술 및 용어 정리

API / 라이브러리 / 프레임워크 개념 및 차이

토기발 2022. 7. 17. 22:46

노션 포트폴리오를 정리하며 사용 기술 및 라이브러리를 적고 있었는데, 문득 API도 여기에 넣어도 되나...? 라는 생각이 들었다. 생각해보면 API와 라이브러리(+프레임워크)의 정확한 개념도 잘 모르고 사용해왔던 것 같아서 이번 기회에 제대로 정리하기로 한다.

 

참고한 블로그와 강의 주소 :

https://rrecoder.tistory.com/94 

https://youtu.be/We8JKbNQeLo

API (Application Programming Interface) 

응용프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어해주는 인터페이스

응용 프로그램을 만드는데 사용하는 연결 장치 또는 매개체

 

ex)  내        ---/map/위도&경도 --------> 구글 지도

  프로젝트  <--지도와 관련된 정보 ----    서비스

 

ex) 구글지도 API , 다음 우편번호 API

 

특징

구현과 독립적으로 사양만 정의되어 있다.

API에 따라 접근권한이 필요할 수 있다.

 

라이브러리

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

특정 기능에 대한 도구, 함수의 집합

 

Ex) JQuery, Apache

 

특징

독립성을 가진다.(다른 라이브러리에 의존하지 않음)

응용 프로그램이 능동적으로(필요할 때 호출해서) 라이브러리를 사용한다.

 

 

프레임워크(Frame Work) 

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

 

Ex) Node.js , Spring, Django

 

특징

상호협력하는 클래스와 인터페이스의 집합이다.

응용프로그램이 수동적으로(프레임워크에서 해야할 일을 다 한 뒤에야 내가 작성한 코드를 호출) 프레임워크에 의해 사용된다.

 

 

라이브러리와 API의 차이

: 구현 로직의 유무 (해당 소스코드가 이미 실행중인지의 여부)

  라이브러리는 애플리케이션이 실행될 때 같이 코드가 로드되어 동작되지만
  API는 이미 돌아가고 있는 별도의 어플리케이션에 메시지를 통해 요청을 해서 결과값을 받는 방식

 

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

: 응용 프로그램의 흐름 주도권을 누가 가지고 있느냐의 차이