본문 바로가기
Dev. Handbook/Javascript

[Javascript] ES5+ 기초강의 1 - 자바스크립트의 역사와 현재 그리고 미래

by breezyday 2022. 6. 13.

한 번은 봐 두면 좋은 콘텐츠입니다. 

 

1. JavaScript 역사

1994년 9월 

- Netscape사에서 Brendan Eich가 LiveScript를 개발하고, LiveScript를 이해할 수 있는 LiveScript Interpreter를 탑재한 Netscape 브라우저를 출시

 

1995년 

- Java의 인기에 편승하기 위해 LiveScript의 명칭을 JavaScript로 변경하고 Javascript Interpreter를 탑재한 Netscape 브라우저 출시

 

1995년

- Microsoft사는 리버스 엔지니어링을 통해 Netscape의 JavaScript 엔진의 소스를 복원하여 자체적으로 엔진을 만들고 이를 JScript라고 명명함.

- 동시에 이를 탑재한 Internet Explorer를 출시

- 개발자들이 서로 다른 브라우저를 지원하기 위하여 더 많은 노력을 들이게 되는 시발점이 됨

 

1996년 11월

- Netscape사에서 ECMA International이라는 단체에게 JavaScript를 표준화할 것을 제안

 

1997년 7월

- ECMAScript 1 Lanaguage specification 시장에 나옴

 

ECMAScript 1 in 1997

ECMAScript 2 in 1998

ECMAScript 3 in 1999 : error handling, ===

ECMAScript 4 in 2000 : optional type annotation, class, Enterprise scale

- ECMAScript 4 이후 MS 덕분에 표준화는 늦어지게 됨

 

2000년

- MS의 Internet Explorer이 시장점유율을 95%을 차지

- MS는 이때부터 시장 표준을 따르지 않고 독자적으로 유지

 

2004년

- moz://a의 Firefox 등장

- 자신들이 만든 Tamarin이라는 ActionScript3을 지원하는 엔진으로 ECMAScript4를 표준화할 것을 제안했으나 기존의 JavaScript와 차이가 많아서 표준화는 진행하지 못함.

 

- 개발자들은 다양한 브라우저 지원으로 고생하게 됨

- Jesse James Garrett(제시 제임스)가 AJAX(Asynchronous JavaScript and XML)를 제안하여  ESCMScript4에 도입.

 

새로운 기술의 등장

- 웹 서비스의 증대로 많은 개발자들이 유입되면서 커뮤니티가 형성되고, 새로운 기술(jQuery, dojo, mootools)들이 나오게 됨

- 개발자들이 브라우저 호환을 신경 쓰지 않고 개발할 수 있는 환경 제공

- jQuery가 시장을 주도함 (write less, do more)

 

2008년

- 구글(Google), 크롬 브라우저(Chrome) 등장

- JIT (just-in-time compilation) 엔진을 포함하고 있는데 JavaScript 실행 속도를 비약적으로 올려줌.

 

2008년 7월

- 브라우저 업체들이 모여 표준화를 제안하게 됨

 

2009년

ECMAScript 5 in 2009

 

2015년

ECMAScript 6 : default parameter, class, arrow function, const, let 지원

 

ECMAScript 6 in 2015

ECMAScript 7 in 2016

ECMAScript 8 in 2017

ECMAScript 9 in 2018

ECMAScript 10 in 2019

 

큰 변화는 ECMAScript 5, ECMAScript 6에서 이루어짐

- 표준화로 javascript만으로도 기능 구현에 불편함이 크게 줄어들어 이제는 jQuery, dojo, mootools의 필요성이 줄어들게 됨.


2. Javascript 현재 

Javascript Engines

  • Chrome          : V8
  • Firefox            : SpiderMonkey
  • Safari              : JSCore
  • MS Edge         : Chakara
  • Opera             : Carakan
  • Adobe Flash : Tamarin

 

Chrome의 V8엔진은 node.js나 Electron에서도 사용

 

BABEL ( JavaScript transcompiler )

- 최신 버전의 Javascript를 사용하여 개발한 다음 ECMASciprt 5, 6에 호환되도록 변환해주는 기능을 제공함.

 

SPA (Single Page Application)

- 웹 사이트의 전체 페이지를 하나의 페이지에 담아 부분적인 업데이트를 통하여 페이지를 표시

- 이를 지원하는 기술들 : Javascript, React, Angular, Vue, Backbone

 

Javascript 활용

- 브라우저에 동적인 기능을 제공

- node.js :  javascript를 사용하여 back-end 구현

- 리액트 네이티브(React Native), 아파치 코르도바(Cordova) : 모바일 앱 개발

- 일렉트론(Electron) : 데스크톱 앱 개발

 

- JavaScript는 브라우저에서 동작하는 유일한 언어였으나, 2017년 웹 어셈블리가 등장하여 다양한 언어를 사용하여 웹 애플리케이션이 구현 가능하도록 변화함.

- Javascript(언어)와 WebAPIs(API)는 다르다.

 

 

 

 

 

댓글