API(Application Programming Interface) 는 어플리케이션 소프트웨어를 구축하고 통합하는 정의 및 프로토콜 세트이다. 때때로 API는 정보 제공자와 정보 사용자 간의 계약으로 지칭되며 소비자에게 필요한 콘텐츠(호출)와 생산자에게 필요한 콘텐츠(응답)를 구성한다.
...네?ㅋㅋ
API는 서버와 데이터베이스에 대한 출입구 역할을 한다
API는 모든 사람들이 데이터베이스에 접근하는 것을 방지하기 위해 서버와 데이터베이스에 대한 출입구 역할을 하고 허용된 사용자에게 접근성을 부여해준다.
API는 애플리케이션과 기기가 원활하게 통신할 수 있도록 한다
애플리케이션(스마트폰의 어플 or 프로그램을 의미)과 기기가 데이터를 원활하게 주고받을 수 있게 돕는 역할을 한다.
API는 모든 접속을 표준화한다.
기기나 운영체제와 상관없이 누구나 동일한 액세스를 얻을 수 있다.API는 범용 플러그처럼 작동한다고 볼 수 있다.
(호환성에 영향을 받지 않는다라고 이해하면되나..?)
private API는 내부 API로, 회사 개발자가 자사품과 서비스 개선을 위해 내부적으로 발행한 것 3자에게 노출되지 않는다. (이름 그대로 private)
public API는 개방형 API로, 모두에게 공개된다. 누구나 제한 없이 API를 사용할 수 있다. (open API라고도 하는 것 같다!)
partner API는 기업이 데이터 공유에 동의하는 특정인들만 사용할 수 있다. 비즈니스 관계에서 사용되는 편이고, 종종 파트너 회사 간 소프트웨어를 통합하기 위해 사용된다.
youtube 나 instagram 을 비롯한 커뮤니티나 SNS 에 업로드된 게시물의 공개범위 와 비유할 수 있었다.
private API 를 사용할 경우 개발자들이 애플리케이션 코드를 작성하는 방법을 표준화함으로써 간소화되고 빠른 프로세스를 처리할 수 있다.
소프트 웨어를 통합할 경우 개발자들 간의 협업을 용이하게 만들어 줄 수 있다.
public API, partner API 를 사용하면 기업의 경우 타사 데이터를 활용하여 브랜드 인지도를 높일 수 있고 고객 데이터베이스를 확장하여 전환율을 높일 수도 있다.
코드 작성 표준화로 인한 간소화가 잘 와닿지 않는다. 활용 예시를 참고하면 이해할 수 있을 것 같다.
네이버 서버에 있는 맵 기능을 다른 사용자들이 사용할 수 있게 만든 통로(API)를 제공한다는 뜻
API 를 통해 네이버 맵기능을 여러 사람들이 사용할 수 있게 프로그래밍하여 제공한다라고도 할 수 있다.
API 개념에 대해 공부한 것을 기록했다. 정리하자면 API는 정말 쉽게는 프로그램과 프로그램을 이어주는 연결통로 라 설명할 수 있을 것 같다. 하지만 통로에도 입출구가 존재할 것이고 입출구의 접근성에 대한 이해는 활용 예시를 꼭 참고해야 할 것 같다. 프론트엔드 공부를 하며 항상 나를 괴롭혔던 API 그놈의 API API.. 에 대해 어느정도 감이 잡혔고 후련하고 기분이 좋다.