웹 문서의 내용을 동적으로 바꾸거나 각종 이벤트를 적용하는 것이 가능해진다.
JavaScript가 나온 이후 인기를 끌자, Microsoft 사에서도 Reverse engineering을 통해 IE 3.0에서 동작하는 'JScript'라는 매우 비슷한 언어를 만들어낸다. → IE 외에도 다양한 브라우저들이 개별적으로 JavaScript 문법을 만들어 내게 되자, 각 브라우저 간 호환성을 위해 개발자들은 많은 고생을 해야 했다.
1997년 7월 Netscape의 요청에 의해 표준화 기구인 ECMA International에서 표준이 완성된다. 당시 'Java'라는 이름이 상표로 등록되어 있었기에 'JavaScript'라고 부를 수 없었고, 따라서 표준 언어의 이름은 ECMAScript로 결정된다. 이후 자바스크립트에 대한 표준과 명세를 ECMA International에서 관리하고 있다. 이후에는 표준이나 구현 모두 'JavaScript'라는 이름으로 불리고 있다.
IE 점유율 95%가 넘으면서 MS가 표준화에 참여를 중단하고, 2004년 Mozila에서 Firefox가 출시되면서 ActionScript3와 Tamarin을 표준화하려 했으나 실패한다. → 3사의 신경전에 의해 개발자들이 계속 고생을 하게 된다.
웹 개발자의 수가 늘어나고 커뮤니티가 형성되면서 jquery, dojo, mootools 등과 같이 브라우저에 상관없이 편하게 개발할 수 있게 하는 라이브러리가 등장하고 사랑받는다.
2008년 구글이 크롬 브라우저와 V8이라고 불리는 빠른 자바스크립트 엔진을 소개한다. 이를 통해 JavaScript가 느리다는 인식을 바꾸었고, 이로 인해 나머지 브라우저들이 표준안 채택을 위한 논의를 시작한다.
2009년 ECMAScript5를 출시하게 되고, 2015년 ECMAScript6 출시 이후 꾸준히 업데이트되고 있다.
JavaScript는 성숙하고 정착된 언어가 된다.
모든 브라우저가 ECMAScript의 표준을 따르기 때문에 더 이상 라이브러리의 도움 없이 모든 브라우저에서 동작하는 WebSite나 Web Application을 만들 수 있다.
JavaScript에는 다양한 엔진이 있고 모두 최신 버전이 아니며 개발자들은 최신 버전을 사용하고 싶기 때문에, 최신 버전으로 개발하고 낮은 버전으로 변환시켜주는 'BABEL'을 많이 사용하고 있다.
하나의 페이지에서 필요한 부분만 부분적으로 업데이트하는 SPA(Single Page Application)가 트렌드로 정착하고 있다. → React, Angular, Vue 등 라이브러리와 프레임워크를 활용해서 SPA를 더 쉽게 구현할 수 있다.
Node.js가 등장하면서 JavaScript의 영역이 Back-end, Mobile, Desktop Application까지 확장되었다. 클라이언트에서만 JavaScript를 쓰는 것이 아니라, 서버에서도 같은 언어로 구현할 수 있기 때문에 Front-end와 Back-end를 모두 개발할 수 있는 풀스택 개발자들이 증가하고 있다.
과거에는 브라우저에서 동작할 수 있는 유일한 언어가 JavaScript였다면 최근엔 WebAssembly가 등장해서 C++, Go, Python과 같은 언어로 Web Application을 만들 수 있게 되었다.
이쯤에서 왠지 자바스크립트의 역사에 대해 알고 싶어서 정리하게 되었다. 지금까지는 그저 브라우저를 동적으로 만들어주는 스크립트 언어 정도로 알고 있었는데, 모진 풍파를 알고 나니 오늘날의 자바스크립트가 더욱 소중하게 느껴졌다😂 그리고 이제 자바스크립트도 백엔드를 구현할 수 있고, 다른 언어로도 웹을 구현할 수 있는 만큼 다양한 분야로의 확장성을 염두에 두고 언어를 배워야겠다는 생각이 들었다🙃