한 번은 봐 두면 좋은 콘텐츠입니다.
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)는 다르다.
'Dev. Handbook > Javascript' 카테고리의 다른 글
[Javascript] ES5+ 기초강의 6 - class vs object, 객체지향언어 (0) | 2022.07.01 |
---|---|
[Javascript] ES5+ 기초강의 5 - Arrow Function? 함수의 선언과 표현 (0) | 2022.06.26 |
[Javascript] ES5+ 기초강의 4 - 연산자, 조건문, 반복문, 코드 리뷰 팁 (0) | 2022.06.21 |
[Javascript] ES5+ 기초강의 3 - 데이터 타입, let vs var, hoisting (0) | 2022.06.20 |
[Javascript] ES5+ 기초강의 2 - Hello World!, Preparation, async vs defer (0) | 2022.06.16 |
댓글