API와 라이브러리의 차이는?
구현 로직의 유무
api: 컴포넌트를 사용하는 규약, 호출을 위한 수단, 구현 로직 없음
라이브러리: 컴포넌트 자체, 구현 로직 존재
비유를 하자면, 라이브러리는 도구 자체이고 api는 "도구 주세요!"라고 요청하는 것이라 볼 수 있을 것 같다.
라이브러리와 프레임워크의 차이는?
응용프로그램의 흐름 주도권을 누가 가지고 있는지 : 누가 누구를 컨트롤 하는가
라이브러리: 내가 코드를 컨트롤한다, 내가 라이브러리를 부른다.
프레임워크: 누군가의 규칙을 따라 코딩한다, 프레임워크가 나를 부른다
API( Application Programming Interface )
응용 프로그램에서 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
ex) 구글 지도 api /map/위도&경도
필요한 부분을 요청하여 응답을 받는 서비스간의 다리와 같은 역할
- 구현과 독립적으로 사양만 정의 되어있음
- 접근권한을 부여받아야함
- 말그대로 인터페이스, 안에는 무엇이 들어있는지 알 수 없음.
라이브러리 ( Library )
응용 프로그램 개발을 위해 필요한 기능을 모아 놓은 소프트웨어
ex) jQuery
- 응용프로그램이 능동적으로 라이브러리를 사용 : 기능들을 어떻게 사용할지 사용자가 결정
- 부품이 되는 소프트웨어의 집합
- 작은 기능들을 함수 단위로 만들어 제공
- 기능들을 어떻게 사용할지 사용자가 결정
- 대체가능한 다른것을 찾기 쉬움
프레임워크 ( Framework )
응용프로그램이나 소프트웨어의 솔루션 개발을 수월하게 하기위해 제공된 소프트웨어 환경
ex) Vue, React, Angular, django
- 응용프로그램이 수동적으로 프레임워크에 의해 사용된다 : 규칙을 지켜가며 사용하는 것
- 소프트웨어의 형식제공 - 규칙이 정해져있음