- 자바스크립트의 탄생배경과 역사
코딩 공부하는데 왠 탄생배경과 역사냐, 할수도 있겠다. 그런데 자바 웹 프로그래밍을 공부할 때에 책을 통해 Servlet과 JSP의 탄생배경을 배우게 되었는데, 그러고나니 덕분에 두 기능의 차이점이 보이고 웹 프로그래밍에서 어떤 역할을 하는지 이해하게 되면서 드디어 전체적인 흐름을 이해하여 코드를 작성하는 것이 가능해지더라. 그래서 자바스크립트를 사용하고 배워가면서 동시에 이런 역사적인 흐름도 알고 있는 것이 좋겠다, 라고 생각하여 기본서를 천천히 읽어보고 있다. 다만, 탄생한 시기라던가 만든 회사명까지 일일이 기억해야 하고 그런 것은 물론 아니다. 어디까지나 더 깊은 이해를 통한 개발을 위해서다.
따라서 위 주제에 대해 간단히 핵심만 짚고 가자면 다음과 같다.
- 탄생
*자바스크립트는 웹페이지의 보조적인 기능을 수행하기 위해 탄생되었다.
*위 목적에 따라 브라우저에서 동작하는 경량 프로그래밍 언어로서 만들어졌다.
- 자바스크립트의 표준화
*자바스크립트의 파생 버전으로 마이크로소프트에서 출시한 "JScript"가 있었다. 다만 이로인해 크로스 브라우징 이슈(브라우저마다 사용하는 기능이 달라져버림)이 나타난다.
*그 계기로 ECMA 인터내셔널(컴퓨터 시스템의 표준을 관리한튼 비영리 표준화 기구)에 요청되어 자바스크립트는 표준화가 된다.
*다만 상표권 문제로 자바스크립트라는 이름이 아닌, ECMAScript가 되었다.
- Ajax의 탄생
*기존 HTML은 요청 시 웹페이지 전체를 처음부터 다시 렌더링(HTML,CSS,JS로 작성된 문서를 브라우저에 출력하는 것)하였다.
*불필요한 부분까지 굳이 렌더링을 처음부터 할 필요가 없도록, 성능 개선을 위해 Ajax가 등장하였다.
*2005년, 구글이 발표한 구글 맵스는 자바스크립트와 Ajax를 이용해 웹 애플리케이션 프로그래밍 언어로서의 자바스크립트의 가능성을 보여준다.
- 자바스크립트 엔진
*구글 맵스로 자바스크립트의 가능성이 확인되며 더 빠른 동작을 위한 자바스크립트 엔진의 필요성이 대두되었다.
*2008년, 구글은 V8 자바스크립트 엔진을 출시하였고 이로써 자바스크립트는 웹 애플리케이션 프로그래밍 언어로서 자리잡는다.
*웹 서버의 많은 부분이 자바스크립트로 가능한 것으로 확인되어, 많은 기능이 프론트로 옮겨져왔고 이것이 프론트엔드 영역이 주목받는 계기가 되었다.
- Node.js
*2009년, 구글 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경이다.
*기존 자바스크립트는 브라우저에서만 동작하지만, 이를 외부에서도 동작이 가능하도록 자바스크립트 엔진을 브라우저로부터 분리시킨 것이다.
- SPA 프레임워크
*Single Page Application의 준말로, 개발 규모와 복잡도의 상승으로 탄생하였다.
*CBD(Component based development) 방법론 기반이다.
*SPA 프레임워크로는 흔히 잘 알고 있는 Angular, React, Vue.js, Svelte 등이 있다.
참고 : 도서 <모던 자바스크립트 Deep Dive>
'TIL' 카테고리의 다른 글
<CSS> 페이지 전환 효과 (0) | 2021.12.12 |
---|---|
<자바스크립트 JavaScript> 변수 (0) | 2021.12.11 |
<CSS> Flexbox 레이아웃 (2) + Flexbox Froggy 풀이 (0) | 2021.12.09 |
<CSS> Flexbox 레이아웃 (1) (0) | 2021.12.08 |
<자바스크립트 Javascript> mouseover, mouseout 이벤트 (0) | 2021.12.07 |