초창기 웹 브라우저는 링크 이동 같은 정적인 기능만 가능했었다.
넷스케이프사의 마크 앤더슨은 웹 페이지의 동적인 기능에 대해 고심하다가,
당시 'Scheme' 스크립트 언어를 만든 브랜든 아이크에게
브라우저에서의 새로운 스크립트 언어를 만들자고 제안한다.
그리고 브랜든 아이크가 10일만에 개발한 언어가 자바스크립트이다.
처음엔 'LiveScript'라는 이름 하에 개발되었지만
당시 인기를 끌고있던 'Java' 언어의 명성을 따라
'Javascript'로 이름을 바꾸게 된다.
넷스케이프사는 넷스케이프 브라우저가 이 스크립트 언어를
바로 이해하고 실행할 수 있는 엔진을 탑재하여 브라우저를 출시했는데,
마이크로소프트가 자바스크립트 소스를 그대로 따와 개발한
JScript 언어가 등장하고 시장 점유율을 잠식해가자,
Ecma International 단체에게 자바스크립트를 표준화하는 것을 요청한다.
그리하여 1997년 7월, 첫번째 표준안인 EcmaScript1이 시장에 나오게 된다.
하지만 이 표준안을 앞두고 브라우저사들의 신경전은 계속되었고
이 과정에서 웹 페이지 개발자들은 가지각색의 브라우저 엔진을 탑재한 브라우저들을
모두 호환하기 위해 개발하는 것이 무척 힘들었다.
이러한 환경에서 여러 브라우저의 호환성을 신경쓰지 않고
개발할 수 있게 도와주는 기술이 등장했는데 바로 'API', 즉 jQuery 같은 라이브러리이다.
(이 때 Ajax 비동기 기술도 등장한다)
그리고 2008년, 구글에서 Chrome 브라우저를 발표하게 되는데
강력한 JIT 엔진을 탑재하여 자바스크립트 처리 속도가 월등히 빨라지게 된다.
그러면서 다른 브라우저사들은 성능 개선의 필요성을 느끼게 되고
서로 윈윈할 수 있는 생산적인 과정을 거쳐,
2009년 EcmaScript5가 나오게 된다.
그리고 이후 조금씩 수정하면서 표준안이 안정적으로 자리잡게 된다.
각 브라우저에는 이 표준안에 맞는 엔진이 있는데
크롬의 V8, FireFox의 SpiderMonkey, Safari의 JSCore 등이 있다.
크롬의 V8엔진은 Node.js 와 ELECTRON 에서도 이용되는데,
Node.js는 웹 브라우저에서만 국한되있던 자바스크립트가
브라우저 없이도 실행되도록 하는 자바스크립트 '런타임', 프로그래밍 환경이다.
예전에는 자바스크립트로 웹 페이지를 만들고,
서버는 Java 같은 다른 언어를 사용하여 만들어야 했는데
Node.js 는 웹 브라우저와 무관하게 서버를 만들 수 있어서
자바스크립트 언어 하나만으로 웹 페이지 전체를 만들 수 있게 된 것이다.
ㅡ 참고 자료
DreamCoding
https://www.youtube.com/watch?v=wcsVjmHrUQg