Sky Archive

JavaScript

[Javascript] 자바스크립트의 역사와 발전 과정에 대해!

Anchovy ʕ-᷅ᴥ-᷄ʔ 2021. 12. 22. 15:16

안녕하세요.🐱‍🐉

오늘은 자바스크립트의 역사와 발전 과정에 대해 알아보려고 해요.

왜 ES6에서 큰 변화가 일어나게 되었는지 그 이유도 함께 알아보죠!~

 


자바스크립트의 탄생

1993년

- 컴퓨터가 생소하던 시절. UI 요소가 더해진 Mosaic Web Browser 개발

- Mosaic Web Browser팀을 이끌던 Marc Andreessen, Netscape사 설립

 

1994년

- Mosaic Web Browser 개발 경험을 토대로 Netscape Navigator 출시

  html과 css로 이루어진 간단한 웹페이지, Hyper Text 링크를 통한 정적인 이동만 가능

- 동적인 웹페이지 구현을 위해 새로운 언어를 개발

  Brendan Eich 고용 → Scheme Script를 변형하되 문법은 Java와 유사한 새로운 언어, 10일 만에 완성

 

1994년 9월

- 내부적으로는 Mocha라고 불렸던 새로운 언어 탄생. 이후 LiveScript로 변경

- 당시 Java의 인기에 편승하기 위해 JavaScript로 변경

※ 이 때문에 많은 개발자들이 Java와 헷갈리는 계기

 

1995년

- 공식적으로 JavaScript와 JavaScript Interperter가 포함된 Netscape Navigator 출시

 


표준화 작업

1995년

- Netscape Navigator가 성공하자 Microsoft사 Revers Engineering(만들어진 프로그램의 바이너리 코드를 분석하여 소스코드를 복원하는 과정)을 통해 JavaScript를 베껴 JScript를 개발하고 Internet Explorer 출시

- 당시 너무 다른 두 브라우저 때문에 크로우 브라우징 이슈가 존재

- Netscape사는 표준화 기구, ECMA International에 JavaScript로 표준안을 만들자고 제안

 

1997년 7월

ECMAScript 1(ES1) language specification 표준안 완성

Sun사의 Java라는 이름이 상표 등록이 되어있어 JavaScript가 아닌 ECMAScript로 결정

 

1998년, ECMAScript 2

1999년, ECMAScript 3 : Error handling, Three Equals Operator(===)

2000년, ECMAScript 4 : Class, Optional Type Anonotation

 

1999년

- IE5에서 소개된 XMLHttpRequest API가 나오며 클라이언트 측 스크립트를 http 혹은 https로 서버에게 요청하고,

  텍스트 형식으로 데이터를 받는 것을 가능해짐

 

2000년

- Internet Explorer의 시장 점유율을 바탕으로(약 95%) Microsoft사는 'Internet Explorer이 표준이다'라며 ECMA표준안에

  참여하지 않음. 2000년 이후 ECMAScript 표준안의 업데이트가 더딘 이유

 

2001년

- Douglas Crockford가 텍스트 형식으로 데이터를 저장하는 자바스크립트 문법을 'JSON'이라고 명명

  XML의 대안으로 자바스크립트와 함께 대중적 인기

 

2004년

- Mozila사의 Firefox 출시

- Jesse James Garrett가 AJAX(Asynchronous Javascript and XML, 비동기식 데이터 교환 기법) 기술을 발표

- Opera 등 다양한 웹 브라우저가 등장에 따라 다른 웹 브라우저에서 구현 사항을 신경 쓰지 않기 위해

  개발자 커뮤니티들에서 JQuery, Dojo, MooTools 등 다양한 라이브러리들이 나오게 됨

 

2005년

- Google이 AJAX를 이용해 Google Maps를 소개, 이후 인기가 높아져 XML대신 JSON을 사용하는 개발자들이 더 많아짐

 

2008년

- Google의 Chrome 출시. 빠른 JavaScript 실행 속도를 가진 V8 엔진을 포함

- 기존 브라우저들의 위기감 → 2008년, 7월 표준안에 대한 협의 진행

 

2009년 ECMAScript 5

2015년 ECMAScript 6(ES6) : default parameter, class arrow, function, const, let

- 이후 매년 새로운 버전이 나오고 있지만 5와 6에서 커다란 변화들이 거의 다 정의됨

- 이젠 라이브러리들의 도움 없이도 모든 브라우저에서 동작이 가능

 


이후 및 최신 동향

- 개발자들은 최신 기능이 탑재된 언어를 사용하고 사용자에게 배포할 때만 핵심 버전인 ES5, ES6로 바꿔주는

  JavaScript Transcompiler를 사용 → BABEL

- SPA(Singgle Page Application, 하나의 페이지에서 데이터를 받아오고 필요한 부분만 업데이트) 대두

  이를 쉽게 구현하기 위해 React, Angukar, Vue가 나옴

- V8을 이용한 back-end 개발이 가능한 Node.js, mobile을 지원하는 Facebook의 React Native,

  JavaScript 기반의 객체 지향 컴파일 언어 TypeScript 등이 있음.