Javascript 를 처음 공부하는 사람이라면, 새로운 언어에 대해 '이게뭐지? 어떻게 학습해야하나? 그냥해!' 등 혼란함에서 나오는 스트레스 (열) 가 발생할 수 있다.
그러니 언어를 배우기 전 "이 언어는 왜 만들어졌나?", "배우면 어떤 분야에 적용할 수 있을까?" 를 이해하고 자연스러운 동기를 발생시키면서 시원하게 시작해보자.
1993년 _대중들이 쉽게 사용가능한 Mosaic 브라우저가 등장함
1994년 _Netscape Navigator 라는 정적웹사이트 브라우저가 급성장을함 ( Marc Andreessen 은 동적인 웹사이트를 위한 Scripting 언어를 개발함 - Scheme script 언어를 변형하여
LiveScript
를 개발함 )
1994년 _Netscape Navigator 안에 LiveScript 엔진 interpreter 가 포함되어 브라우저 출시 ( 자바가 유행하자 그 유명세에 편승하고자 이름을 Javascript 라고 변경하였다. )
1995년 _마이크로 소프트가 Netscape Navigator 의 브라우저를 Reverse Engineering 하여 (그대로 베껴서) 자신들의 언어를 출시한다 "Jscript" /
internet Explorer
를 출시... / 브라우저들의 출시로 다른 환경에서 구동되는 사이트를 만들기 위해 개발자들은 개고생...
1996년 _Netscape 에서
ECMA International
을 찾아가 Javascript 표준안을 제안하였다.
1997년 _ECMA 에서
ECMAScript 1
이 등장하게 되었다.
2000년 _Internet Explorer 가 시장점유률 95% 를 달성하고, ECMA 표준안에서 멀어진다.
2004년 _Firefox 브라우저가 등장하면서 자신들의 엔진에 맞춘 표준안을 제안하였으나, 거절당한다.
2004년 _
Ajax
의 도입, 브라우저 간의 신경전들이 계속해서 진행됨. JQuery, dojo, mootools 같은 라이브러리들이 브라우저간 구현사항을 위한 API 를 제공한다.
2008년 _Chrome 브라우저 출시 (JIT엔진 포함, 자바스크립트 실행속도 장난아님), 브라우저들이 모여서 협력적인 대화를 시작함.
2009년 _
ECMAScript 5
가 등장.
2015년 _
ECMAScript 6
가 등장 (class, arrowfunction, const, let 등의 정의)
앞에서 살펴본 과정을 거치며 Javascript 는 성숙하고, 정착된 언어 가 되었다.
브라우저들은 ECMA 표준사항을 따라가고 있으며, 그로인해 JQuery 같은 라이브러리의 도움이 필요 없어졌다.
이제는 Javascript 와 WebApi 에서 제공하는 api 만으로 모든 브라우저에서 동작하는 어플리케이션을 만들 수 있다.
개발자들은 최신의 ECMA script 를 사용하고, 배포할 때에는 Javascript Transcompiler (BABEL) 을 통해 버전에 맞추어 배포한다.
SPA (Single page Application)
는 하나의 페이지에서 데이터를 받아서 필요한 부분만 업데이트하는 기업인데, 최근에 주목받고 있으며 javascript 만으로도 구현이 가능하나 쉽게 만들기 위해 React, Angula, vue 등의 프레임워크 를 사용하여 구현한다.
Javascript 는 웹에서 동적인 요소를 구현하기 위해 만들어졌는데, ECMA 표준과 V8 엔진을 통해서 Back-end 까지 컨트롤이 가능한 node.js
가 등장하였다.
React native
를 이용하여 모바일 어플리케이션을 만들 수 있다.
Electron
을 이용하면 데스크탑 어플리케이션도 제작이 가능하다.
브라우저에서 동장하는 언어는 Javascript 가 유일했으나, Web assembly
가 등장해서 Java, Rust, C, C++ 등 다양한 언어를 이용할 수 있게 되었다.