모던 자바스크립트 책을 읽으며.. 2
브라우저와 node.js의 용도
- 브라우저
- HTML, CSS 그리고 JS를 실행해 웹페이지를 브라우저 화면에 렌더링 하는 것이 주된 목적
Node.js
- 브라우저 외부에서 JS실행 환경을 제공하는 것이 주된 목적
따라서 둘다 자바스크립트의 코어인 ECMAScript를 실행할 수 있지만 , 이것 이외에 추가로 제공하는 기능은 호환되지 않는다.
Node.js
- 클라이언트 사이드 Web API를 지원하지 않고
ECMAScript
와 Node.js
고유의 API를 지원한다.
ECMAScript
- 자바스크립트의 표준 사양인
ECMA-262
를 의미한다.
- 프로그래밍 언어의 값, 타입, 객체와 프로퍼티, 함수, 표준 빌트인 객체 등 핵심 문법 구성
- 각 브라우저 제주사는
ECMAScript
사양을 준수해서 브라우저에 내장되는 자바스크립트 엔진을 구현한다.
- 자바스크립트는
ECMAScript
그리고 클라이언트 사이드 Web API를 포함하고 있다.
API
Application Programming Interface
- 서버는 클라이언트에게 리소스를 잘 활용할 수 있도록 인터페이스를 제공해줘야 한다. 여기서 인터페이스의 사전적 의미는 의사소통이 가능하도록 만들어진 접점이다.
- API는 앱이 요청할 수 있고, 프로그래밍 가능한 인터페이스이라는 점이 다르다.
- API는 메뉴와도 같다. 메뉴판이 해당 가게에서 주문 가능한 메뉴들을 알려주듯이, API도 클라이언트가 엉뚱한 메뉴를 시키지않게 한다.