API란?
API(application Programming Interface)의 사전적 정의는 '응용 프로그램에서 사용할 수 있도록, 운영 체제 혹은 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스'를 말합니다. (뭔....말이냐 이게)
Interface 란?
서로 다른 두개의 물체가 상호간에 정보나 신호를 주고받기 위해서 필요한 접점이나 경계면을 말합니다. 상호간에 소통을 위해 만들어진 접점입니다.
UI란?
user interface / 인간과 컴퓨터 사이에서 의사소통을 목적으로 만들어진 물리적, 가상적 접점을 의미합니다. 사용자 인터페이스는 인간과 컴퓨터 사이에서 상호간에 소통할 수 있도록 입력, 출력 역할을 수행합니다.
UI 종류에는 hardware user interface, graphical user interface, web user interface
하드웨어 유저 인터페이스
사람 -> 인터페이스(키보드) -> 컴퓨터 -> 인터페이스(화면) -> 사람
그래픽 유저 인터페이스
사용자 -> 인터페이스 (그래픽 아이콘) -> 컴퓨터 -> 인터페이스 -> 사람
웹 유저 인터페이스
웹 브라우저 상에서의 인터페이스로 화면의 디자인, 그 안을 이루는 배너, 아이콘, 검색버튼 등 시각적인 요소를 말합니다.
그래서 API가 무엇이냐!
응용 프로그램들이 서로 소통하기 위한 접점입니다.
응용 프로그램이란 운영체제 (MacOs, Linux, Window등)에서 실행되는 모든 소프트웨어를 말합니다. 응용 프로그램에는 크롬,slack, 카톡, 메모장, 엑셀 등이 있습니다.
웹 서비스에서 API
인스타그램 서비스를 만들고 운영한다고 가정해 볼때, 사용자가 서비스를 원할하게 이용하기 위해서 필요한 운영체제 혹은 서버레서 실행되고 있어야하는 애플리케이션은 크게 3가지를 얘기할 수 있습니다. 먼저, 사용자에게 웹 사이트를 표출하기 위해서 필요한 클라이언트 애플리케이션(크롬 브라우저)와 인스타그램 서비스의 모든 정보가 저장되어 있는 데이터베이스 애플리케이션(MySQL, Oracle, Postgres)이 필요합니다.
브라우저는 여러가지 이유로 데이터베이스에서 서비스에 필요한 정보들을 직접 요청해서 받아올 수 없습니다. 그렇기 때문에 중간에서 소통해줄 수 있는 인터페이스가 필요합니다. 바로 이러한 소통의 역할을 해주는 응용 프로그램이 API입니다.
4-2-1. 클라이언트(Client) 애플리케이션
- 사용자가 서비스를 이용하기 위해서 사용하는 웹 브라우저 혹은 모바일 애플리케이션을 말합니다.
- Chrome, Safari, Internet Explorer, Mobile App 등이 있습니다.
4-2-2. 데이터베이스(Database) 애플리케이션
- 인스타그램 서비스가 제대로 운영되기 위해서는 수 많은 이용자들의 데이터(회원 정보, 게시물, 댓글, 좋아요, 사진, 영상)를 영구적으로 보존할 수 있는 데이터베이스 애플리케이션이 필요합니다.
4-2-3. API(Application Programming Interface) 애플리케이션
- 사용자가 웹 브라우저를 통해서 인스타그램 웹 사이트에 접속할 때 보여지는 모든 데이터(게시글)와 데이터 관련 작업(게시글에 댓글 달기)은 데이터베이스와 소통하고 있기 때문에 가능한 일 입니다.
- 여기서 클라이언트(브라우저)와 데이터베이스(인스타그램 서비스의 데이터 집합) 두 애플리케이션 사이에서 데이터를 읽거나 쓰기위해서 필요한 접점이 API입니다.
5. Summary
- 인터페이스(Interface)란 서로 다른 두 개의 물체가 상호간에 정보나 신호를 주고받기 위해서 필요한 접점이나 경계면을 말합니다.
- 사용자 인터페이스(User Interface, UI)는 인간과 컴퓨터 사이에서 의사소통을 목적으로 만들어진 물리적, 가상적 접점(매개체)을 의미합니다.
- API란 Application Programming Interface의 약자로 응용 프로그램(Application)들이 서로 소통하기 위한 접점입니다. 여기서, 응용 프로그램(Application)이란 운영체제(MacOS, Linux, Window 등)에서 실행되는 모든 소프트웨어를 말합니다.
- 웹 시스템에서 API란 클라이언트(브라우저)와 데이터베이스(인스타그램 서비스의 데이터 집합) 두 애플리케이션 사이에서 데이터를 읽거나 쓰기위해서 필요한 접점이 API입니다.
'코딩 개발 > Javascript' 카테고리의 다른 글
Express.js (0) | 2022.11.01 |
---|---|
Node.js (사용 이유) (0) | 2022.10.25 |
Web 서비스의 역사와 발전 (0) | 2022.10.23 |
Javascript - event (0) | 2022.10.22 |
Javascript - Object (0) | 2022.10.22 |