API ?
Application Programming Interface (응용 프로프램 프로그래밍 인터페이스)의 약자로,
사전적 의미는 응용 프로그램에서 사용 가능하도록 운영체제, 프로그래밍 언어가 제공하는 기능을
제어할 수 있게 만든 인터페이스를 말한다.
쉬운 예시를 들면, 우리가 집에서 가전제품을 사용할 때, 콘센트에 플러그를 꽂으면 전원이 켜짐과 동시에
편하게 가전제품 사용이 가능하다. 전원 공급이 어떻게 되고, 전선을 어떻게 연결하고.. 하는 그런 지식을 몰라도
간단하게 플러그를 꽂으면 우리가 원하는 것 (가전제품이 동작하는 것)을 얻을 수 있다.
이처럼 우리가 복잡한 코드를 직접 구현하지 않아도, API를 통해 이미 구현되어 있는 기능들을 손쉽게
사용이 가능한 것이다.
특히 클라이언트 사이드의 자바스크립트에는 많은 APIs가 존재하는데,
Browser APIs와 Third-party APIs에 대해 알아보자
Browser APIs ?
Browser APIs는 우리가 따로 설정하지 않아도 이미 웹브라우저에 내장되어있다는 의미에서 Built-in APIs라고도 불리며
우리의 웹브라우저에 이미 내장되어 있는 기능으로 복잡한 기능을 쉽게 구현하도록 도와준다
예를 들어 Audio API는 브라우저에 오디오 관련 기능들을 조작하기 위한 자바스크립트 구성을 제공하는데,
우리가 사용할 땐 자바스크립트로 사용하지만 원래 오디오 관련 기능들은 다른 프로그래밍 언어(C++, Rust) 같은
복잡한 저급 언어로 만들어진 것이다. 또한 콘솔 창에 출력하는 console.log, 알림 창을 띄우는 alert 모두 웹브라우저에서
기본적으로 제공하는 APIs이다.
Third-party APIs ?
브라우저에 기본적으로 내장되어있는 API 외에도 기업들이 스스로 만든 APIs가 존재하는데 이를 Third-party APIs라고 한다
이를 통해 기업들이 제공하는 서비스나 데이터를 사용이 가능한데 예를 들면 구글 지도, 페이스북 로그인, 트위터의 최신 트윗이 있다
타사 APIs는 기본적으로 브라우저에 내장되어있는 APIs가 아니기 때문에 직접 기업의 사이트를 통해 사용할 수 있는 방법과
코드 등을 찾아봐야 한다 (구글에 검색하면 엄청나게 정리가 잘 된 글이 많다)
최근에 카카오 로그인 APIs를 경험 삼아 사용해봤는데, 추가적으로 더 수집하고 싶은 데이터(회원의 생일, 메시지 알림 등..)
설정이 가능하여 (추가적인 인증이 필요할 수 있다) 매우 편리했다.
Ref.
https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Introduction