> For the complete documentation index, see [llms.txt](https://heunnajo.gitbook.io/javascript/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://heunnajo.gitbook.io/javascript/ui-api-and-document.md).

# UI, API 그리고 문서보는 법

**API(Application Programming Interface)**

프로그램이 동작하는 환경을 제어하기 위해서 환경에서 제공되는 조작 장치이다. 이 조작 장치는 프로그래밍 언어를 통해서 조작할 수 있다.

**UI(User Interface)**

브라우저 : 기반이 되는 플랫폼. 운영체제에 대해서는 응용프로그램이 된다. 운영체제는 응용프로그램에 대해서 플랫폼이 된다.

웹 개발자 : 사용자와 시스템 사이에서 가장많은 수요가 있고 이에 따라 가장 많은 engineer/developer가 종사하고 있다.

![](https://2105797137-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MECuHZ1KfvGBZfxLj0-%2F-MEVoBuYvf0unN87NiGo%2F-MEVohqQZLubhqD93SEb%2F%E1%84%89%E1%85%A1%E1%84%8B%E1%85%AD%E1%86%BC%E1%84%8C%E1%85%A1%E1%84%8B%E1%85%AA%20%E1%84%80%E1%85%A1%E1%86%A8%20%E1%84%80%E1%85%A8%E1%84%8E%E1%85%B3%E1%86%BC%E1%84%8B%E1%85%B4%20engineering%20%E1%84%83%E1%85%A1%E1%86%AB%E1%84%80%E1%85%A8.png?alt=media\&token=3d87cada-0332-4bdf-803e-f9a0dcd8c2d8)

공학적인 측면에서 심층적으로 들어가보면 소프트웨어공학(전산공학), 전자공학, 전기공학으로 나누어 볼 수 있다. 역사적으로 봤을 때에도 전기공학이 발전하여 전자공학, 전자공학이 발전하여 전상공학(현재 소프트웨어공학이) 발전되었음을 알 수 있다.

![](https://2105797137-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MECuHZ1KfvGBZfxLj0-%2F-MEVoBuYvf0unN87NiGo%2F-MEVotX3N9DggNlBxRaM%2F%E1%84%89%E1%85%A1%E1%84%8B%E1%85%AD%E1%86%BC%E1%84%8C%E1%85%A1%E1%84%8B%E1%85%AA%20%E1%84%80%E1%85%A1%E1%86%A8%20%E1%84%80%E1%85%A8%E1%84%8E%E1%85%B3%E1%86%BC%E1%84%8B%E1%85%B4%20%E1%84%80%E1%85%A9%E1%86%BC%E1%84%92%E1%85%A1%E1%86%A8%E1%84%8C%E1%85%A5%E1%86%A8%20%E1%84%83%E1%85%A1%E1%86%AB%E1%84%80%E1%85%A8.png?alt=media\&token=7a30c55d-194a-4e83-98ec-d103ee345041)

프로그래밍을 공부하기 위한 자료는 크게 레퍼런스(reference)와 tutorial(안내서)가 있다. 통상 튜토리얼은 언어의 문법을 설명하고, 레퍼런스는 명령어의 사전을 의미하다.

**자바스크립트의 API**

자바스크립트의 API는 크게 자바스크립트 자체의 API와 자바스크립트가 동작하는 호스트 환경의 API로 구분된다.

1. **자바스크립트 API 문서**

* [ECMAScript (표준문서)](http://www.ecma-international.org/publications/standards/Ecma-262.htm)
* [자바스크립트 사전 (생활코딩)](http://opentutorials.org/course/50)
* [자바스크립트 레퍼런스 (MDN)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference)
* [jscript 레퍼런스 (MSDN)](http://msdn.microsoft.com/ko-kr/library/vstudio/z688wt03\(v=vs.100\).aspx)

2\. **호스트 환경의 API 문서**

* [웹브라우저 API](https://developer.mozilla.org/en-US/docs/Web/API) : 자바스크립트로 웹을 제어하는 방법에 대한 설명을 확인할 수 있다.
* [Node.js API](http://nodejs.org/api/) : 자바스크립트로 node.js를 제어하는 것에 대한 설명을 확인할 수 있다.
* [Google Apps Script API](https://developers.google.com/apps-script/): 자바스크립트로 구글 플랫폼에서 구글의 어플리케이션을 제어할 수 있는 방법에 대한 설명을 확인할 수 있다.
