본문 바로가기

생활코딩 front-end/Javascript

{SFB} Javascript day 16 - UI vs. API

○ User Interface   vs    Application Programming Interface

 

다음과 같은 버튼이 있고 그 버튼을 누르면 경고창이 뜬다.

 

그렇다면 이 버튼을 누가 사용하고 있는걸까?

 

바로 웹 앱을 이용하는 사용자가 이런 버튼과 같은 조작장치를 이용해 웹 애플리케이션을 사용하고 있는 것이다.

사용자가 시스템을 제어하기 위해 사용하는 조작장치를 UI 라고 한다.

 

이번엔 우리가 만든 웹 애플리케이션 코드를 보자. 위 이미지에 나오는 경고창은 우리가 만든 걸까?

우리가 만들기도 했고, 우리가 만들지 않기도 했다.

경고창이 실행되는 타이밍과 텍스트는 우리의 의도가 반영되기 때문에 우리가 만든 것이라고도 볼 수 있다.

하지만 한 줄짜리 코드에는 경고창의 모양이나 기능이 일절 설명돼 있지 않다.

 

그렇다면 이 경고창은 어떻게 만들어진 것일까?

이것은 웹 브라우저를 만든 사람들이 우리 대신 경고창의 기능을 미리 만들어 놓았다가 우리가 alert()를 실행하면 경고창을 띄워주겠다고 js 사용 설명서를 통해 약속한 것이다.

그 약속을 믿고 alert() 는 함수를 호출해서 경고창을 띄울 수 있게 되는 것이다.

즉, alert() 함수는 경고창을 실행하는 조작장치인 것이다.

그렇지만, 이 조작장치를 일반인이 사용하지는 않는다. 우리가 만든 버튼을 클릭하면 경고창이 뜨는 애플리케이션이 웹 브라우저가 이미 가지고 있는 경고창 기능을 alert()라는 js 문법에 따라 사용하고 있는 것이다.

이처럼, 애플리케이션을 만들기 위해 프로그래밍할 때 사용하는 조작장치를 애플리케이션 프로그래밍 인터페이스라고 한다.

alert() 라는 것이 바로 API 라는 것이다.

 

이것은 js에 국한된 이야기가 아니라 모든 프로그래밍 언어에 공통적으로 적용되는 이야기이다. 모든 애플리케이션은 API를 프로그래밍적으로, 다시 말해 순서대로 실행하는 방식으로 만들어진다.

API와 순서는 서로 뗄 수 없는 관계인 것이다.

 

 

 

참조 : 생활코딩 유튜브 (www.youtube.com/channel/UCvc8kv-i5fvFTJBFAk6n1SA)