링크
생활코딩 javascript 강의 중 ui & api 에 대한 강의를 듣고 그 내용을 정리해봤습니다.
UI는 기본적으로 애플리케이션(이하 앱)을 사용하는 사용자(user) 가 시스템을 제어할 수 있게 만들어주는 기능을 지칭한다. 웹 사이트를 예로 들면 메뉴바, 스크롤, 경고창 등의 웹 화면 전반적인 기능들이 UI다. 이 유저인터페이스는 사용자와 머신(computer)사이에 위치하여 사용자의 상태나 의중을 시스템에 전달하고 보여주는 입출력 장치들이 여기에 해당한다.
API는 위의 개념이 사용자 차원에서 개발자 차원으로 넘어간 개념이다. 개발자는 프로그래밍을 할때 코드의 형태를 띈 인터페이스를 다양한 방법으로 결합해서 특정한 기능을 가진 앱을 만들게 된다. ( 가령 '사용자가 어떤 동작을 했을때 경고창이 뜨게 한다'와 같은 기능을 위해 alert 을 쓴다.) 즉 소프트웨어를 제어, 개발하기 위해 사용하는 인터페이스를 API라고 하는것이다.
일반 사용자들은 UI (버튼, 스크롤바,링크 등)를 통해 앱의 동작, 기능을 제어하는 반면, 개발자들은 API 를 통해 소프트웨어를 제어, 개발한다.
프로그래밍은 결국 개발자가 제어하고자 하는 환경(ex.웹브라우저)을 조작하기위해 API를 통해 제어하고, 내가 제어하려는 환경이 어떤 API를 제공하는지 찾아서 접근하는 법을 잘 활용해야한다. 이를 위해 MDN 등의 공식 문서를 보면서 자바스크립트의 문법을 이해하고 프로그래밍에 활용하는거라 할 수 있다.