TIL | 자바스크립트 역사

이은빈 EUNBIN·2021년 2월 8일
0

JavaScript

목록 보기
1/5
post-thumbnail

* 본 게시글은 '드림코딩 by 엘리'의 유튜브 영상을 기반으로 간략히 정리하여 작성되었습니다.



👩🏻‍💻 1993, Netscape 출시

마크 안드레센(Marc Andreessen)에 의해 1993년에 Netscape가 나타났다.
Netscape는 정적인 웹사이트를 제공했고 당시 80% 이상의 점유율을 보유하였다.

그는 동적인 웹사이트를 만들고 싶었으나 Java는 무겁고 어렵다고 고려하여
브렌든 아이크(Brendan Eich)를 찾아가 Scheme 이라는 언어를 이용하여 새로운 Scripting 언어를 만들어달라고 제안했다.



👩🏻‍💻 1994, JavaScript 등장

브렌든 아이크는 10일 만에 Mocha 라는 새로운 언어를 만들었다.
이후 명칭을 LiveScript로 변경했고 이를 실행시킬 LiveScript Interpreter 엔진을 포함하여 배포하였다.
이로 인해 동적인 웹사이트를 위한 DOM 요소 조작이 가능해졌다.

당시 Java가 큰 인기를 끌자 명칭을 JavaScript로 변경하였다.



👩🏻‍💻 1995, Microsoft의 JScript

Reverse Engineering(역공학) : JavaScript와 엔진의 소스코드를 그대로 복원

Microsoft에서 Netscape의 브라우저를 Reverse Engineering을 하여
마치 자신들만의 언어인 것처럼 JScript를 만들어냈다.

이는 개발자들에게는 고통을, 사용자들에게는 불편함을 주는 원인이 되었다.



👩🏻‍💻 1996, Netscape는 참지 않긔

ECMA International : 정보와 통신 시스템을 위한 국제적 표준화 기구

Netscape는 ECMA International에 찾아가서 JavaScript의 표준화를 만들자고 건의한다.



👩🏻‍💻 1997, ECMAScript1 등장

ECMAScript : 자바스크립트를 표준화하기 위해 자바스크립트의 문법을 정리해둔 문서

그리하여 최초의 ECMAScript가 나오게 되었고, 이를 시작으로 ECMAScript는 계속 업데이트되었다.

1998, ECMAScript 2 발표
1999, ECMAScript 3 발표 : error handling, === 관계연산자 등장
2000, ECMAScript 4 발표 : class, optional type annotation 제안



👩🏻‍💻 2000, Internet Explorer 시장점유율 95%

이제 좀 자리 잡혀가나 했지만.. Microsoft는 비협조적인 자세를 취한다.
"어차피 사람들 우리 Internet Explorer 사용하니까 우리가 표준이야!"

Microsoft가 ECMAScript를 무시하기 시작했고 이때부터 ECMAScript의 업데이트도 더뎌지기 시작한다.



👩🏻‍💻 2004, Firefox 출시

혼란 속에서 Mozilla는 Firefox를 출시한다.

Mozilla는 ECMAScript를 찾아가서
"우리한테 ActionScript3 언어랑 Tamarin 엔진이 있는데 다시 표준화 해보는거 어때?"
라고 제안하지만 기존이랑 너무 달라서 다시 표준화하기엔 어려움이 따랐다.



👩🏻‍💻 2004, AJAX 등장

AJAX(Asynchronous JavaScript and XML) : 비동기적으로 데이터를 서버에서 받아오고 처리할 수 있도록 도와줌


Netscape, Microsoft, Firefox는 여전히 치열한 경쟁 중이었고 이 즈음에 Opera가 출시되었다.

이러한 혼란은 계속 되었고 개발자들이 고통의 나날에 있던 중 강력한 커뮤니티가 탄생한다.
이 커뮤니티로 인해 브라우저간의 호환성을 신경쓰지 않고 개발할 수 있도록 도와주는 APIs인
jQuery, dojo, mootools와 같은 라이브러리들이 나오기 시작했고 이 중 jQuery가 큰 사랑을 받는다.



👩🏻‍💻 2008, Chrome 출시

Google에서 자바스크립트 실행 속도가 굉장히 빠른 JIT(just-in-time compilation) 엔진을 포함시킨 Chrome을 출시한다.



👩🏻‍💻 2008. 7, 다시 표준화?

Chrome의 등장은 다른 브라우저들이 자극을 받는 계기가 되었고
Netscape, Internet Explorer, Firefox, Chrome 다같이 모여 서로 Win-Win할 수 있도록
자바스크립트 표준화에 대해 다시 얘기를 나누었다.



👩🏻‍💻 2009, ECMAScript5 발표

그 다음해 ECMAScript5를 발표하였다.



👩🏻‍💻 2015, ECMAScript6 발표

ECMAScript6에서는 default parameter, class, arrow function, const, let 등 자바스크립트 표준화의 큰 변화가 있었고
ES6를 기준으로 jQuery와 같은 라이브러리를 쓸 필요가 없어질 정도로 자바스크립트는 성숙하고 정착된 언어가 되었다.

2016, ECMAScript7 발표
2017, ECMAScript8 발표
2018, ECMAScript9 발표
2019, ECMAScript10 발표



👩🏻‍💻 JavaScript Engines



👩🏻‍💻 Babel

Babel(바벨) : 개발자가 최신 버전의 ECMAScript로 개발을 해도 사용자에게 배포될 때는 ECMAScript5나 6로 변환시켜주는 JavaScript Transcompiler



👩🏻‍💻 최근 동향

  • SPA(Single Page Application) : React, Angular, Vue, Backbone을 이용하여 하나의 웹사이트 안에서 필요한 부분만 업데이트를 시킴

  • 활발한 ECMAScript 표준화와 강력한 V8 엔진 덕분에 node.js(back-end), React Native(mobile), ELECTRON(desktop app)이 등장

  • 브라우저에서 동작할 수 있는 언어는 JavaScript 뿐이었으나 Web Assembly가 등장하면서 Rust, C, C++, C#, Java, Python 등의 언어를 이용하여 웹 어플리케이션을 만드는 것이 가능해짐





참고 자료
드림코딩 by 엘리
나무위키 브랜든 아이크

이미지 출처
넷스케이프 초기 화면
마크 안드레센 인물사진
브렌든 아이크 인물사진
자바스크립트 로고
에크마 인터네셔널 로고
익스플로러 로고
모질라 파이어폭스 건물사진
제시 제임스 가렛, 아작스
크롬 로고
바벨 로고

profile
Frontend Engineer & Value Creator

0개의 댓글