[Node] UI와 API

짱쫑·2021년 12월 11일
0
post-thumbnail

🦄 UI (User Interface)

Interface는 한국어로 경계면 이라고 해석하기도 한다. 한국어가 오히려 더 어렵게 느껴진다. UI는 유저가 소프트웨어와 만나는 경계면 즉, 유저가 소프트웨어에 접근하고, 명령을 내릴 수 있는 부분을 일컫는 말이다.

스크린, 키보드, 마우스, 웹 브라우저 등이 해당된다. 사람이 소프트웨어나 시스템과 접촉할 수 있는 것을 말한다.
개발자에게 웹 서비스에 사용자가 접근하게 하는 통로는 뭘까? 기본적으로는 웹 화면이다. 웹 서비스에서 UI를 만든다 라는 표현은 사용자가 직접 사용하고, 정보를 알아들을 수 있는 웹 페이지 화면을 만든다 라는 의미이다.

🐴 API (Application Programming Interface)

API는 이름에서 유추할 수 있듯, 어플리케이션끼리 서로 의사소통을 하고 데이터를 교환할 수 있도록 매개체가 되어주는 대상이다.

페이스북에서 친구를 찾거나, 인스타그램DM을 보내거나, 스마트폰에서 날씨를 확인하거나 하는 등의 동작들을 진행하려면 API가 필요하다.

스마트폰으로 어플리케이션을 사용하면 어플리케이션은 인터넷을 연결하고 서버로 데이터를 전달한다. 서버는 데이터를 전달받아 해석하고, 적절한 기능을 수행한 뒤 다시 스마트폰 어플리케이션으로 필요한 정보를 전송해준다. 스마트폰 어플리케이션은 받은 데이터를 다시 해석해서 우리가 읽을 수 있는 방법으로 표현한다. 이 모든 과정이 API이고 API를 통해서 일어난다.

코로나가 종식되어 여행을 간다고 해보자. 온라인으로 티켓을 알아본다면 굉장히 많은 옵션이 있을 것이다. 목적지는 어딘지, 출도착 시간은 언젠지 등등... 이렇게 티켓을 예약하려면 항공사나 여행사 웹 사이트와 통신을 해야한다. 그러나 우리는 항공사나 여행사의 데이터베이스에 직접 접속할 수는 없다. 접근한다 하더라도 예약하는 함수를 발동시키기도 어렵다. 이럴 때 티켓 예매 어플리케이션이 대신 시스템과 통신하여 이 과정을 진행한다.

어플리케이션끼리 통신하고 있는 중간에서 API는 그 통신이 가능하게 해준다.

개발자는 API를 만든다라는 표현은 항공사나 여행사 시스템 개발자로서, 티켓 어플리케이션이 정말 티켓을 예매하고, 데이터베이스에 좌석할 수 있도록 함수를 만든다라는 의미로 사용하기도 한다.

스마트폰에 설치되어 있는 티켓 예매 어플과 항공사 또는 여행사 시스템은 서로 다른 어플리케이션이다. 그러나 API를 통해 일련의 통신 과정을 거쳐 연결된 두 어플리케이션 모두 사용한다.

스마트폰의 정보는 거의 절대로 항공사나 여행사 시스템에 모두 오픈되지 않는다. 항공사의 전체 시스템에 스마트폰 또한 절대로 완전히 접근할 수 없다. 그저 API를 통해서 통신만 하기 때문이다. API를 사용하면 서로 오직 필요한 정보만을 교환하기 때문에 보안 측면에서 좀 더 안전한 서비스를 이용할 수 있다.

profile
不怕慢, 只怕站

0개의 댓글