노션 포트폴리오를 정리하며 사용 기술 및 라이브러리를 적고 있었는데, 문득 API도 여기에 넣어도 되나...? 라는 생각이 들었다. 생각해보면 API와 라이브러리(+프레임워크)의 정확한 개념도 잘 모르고 사용해왔던 것 같아서 이번 기회에 제대로 정리하기로 한다.
참고한 블로그와 강의 주소 :
https://rrecoder.tistory.com/94
API (Application Programming Interface)
응용프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어해주는 인터페이스
응용 프로그램을 만드는데 사용하는 연결 장치 또는 매개체
ex) 내 ---/map/위도&경도 --------> 구글 지도
프로젝트 <--지도와 관련된 정보 ---- 서비스
ex) 구글지도 API , 다음 우편번호 API
특징
구현과 독립적으로 사양만 정의되어 있다.
API에 따라 접근권한이 필요할 수 있다.
라이브러리
응용 프로그램 개발을 위해 필요한 기능을 모아 놓은 소프트웨어
특정 기능에 대한 도구, 함수의 집합
Ex) JQuery, Apache
특징
독립성을 가진다.(다른 라이브러리에 의존하지 않음)
응용 프로그램이 능동적으로(필요할 때 호출해서) 라이브러리를 사용한다.
프레임워크(Frame Work)
응용 프로그램이나 소프트웨어의 솔루션 개발을 수월하게 하기 위해 제공된 소프트웨어 환경
Ex) Node.js , Spring, Django
특징
상호협력하는 클래스와 인터페이스의 집합이다.
응용프로그램이 수동적으로(프레임워크에서 해야할 일을 다 한 뒤에야 내가 작성한 코드를 호출) 프레임워크에 의해 사용된다.
라이브러리와 API의 차이
: 구현 로직의 유무 (해당 소스코드가 이미 실행중인지의 여부)
라이브러리는 애플리케이션이 실행될 때 같이 코드가 로드되어 동작되지만
API는 이미 돌아가고 있는 별도의 어플리케이션에 메시지를 통해 요청을 해서 결과값을 받는 방식
라이브러리와 프레임워크의 차이
: 응용 프로그램의 흐름 주도권을 누가 가지고 있느냐의 차이
'Study > 기술 및 용어 정리' 카테고리의 다른 글
정렬 개념 정리 - 퀵 정렬(Quick Sort), 합병 정렬(Merge Sort) (0) | 2022.07.20 |
---|---|
정렬 개념 정리 - 거품 정렬(Bubble Sort), 선택 정렬(Selection Sort), 삽입 정렬(Insertion Sort) (0) | 2022.07.20 |
Web Server와 WAS의 차이 (0) | 2022.07.20 |
프로세스 관련 용어 정리 (0) | 2022.07.19 |
OSI 7계층 설명 영상 및 개념 정리 (0) | 2022.07.18 |