태초의 웹 브라우저
- 1993년, Mosaic Web Browser 출시
- Mosaic Web Browser 팀을 이끌던 Marc Andressen은 Netscape 회사를 설립
- 이후 기존보다 UI 요소가 더해진 Nescape Navigator 출시
→ HTML, CSS로 정적인 웹 페이지를 만들 수 있게 되었음 - Marc Andressen은 동적인 웹 페이지를 만들기 위해 Script 언어를 만들기로 함
- Marc Andressen은 Brendan Eich를 영입
→ 새로운 Script 언어를 만들되 Scheme Script 언어의 컨셉을 유지하면서 문법은 Java와 유사하게, 그리고 이를 10일 안에 만들도록 계획했음 - 1994년 9월, 내부적으로 Mocha라고 불렀던 이름이 LiveScript로 바뀌어서 출시
- 이후 1995년, Java의 인기에 편승하기 위해서 이름을 다시 JavaScript로 변경
ECMAScript의 변천 과정
- 1995년, Microsoft는 JavaScript를 Reverse Engineering해서 JScript라는 언어를 만들고 Internet Explorer를 출시
→ 이에 당시 웹 개발자들은 두 브라우저 사이에서 잘 동작할 수 있는 웹 사이트를 만들어야 했다. - 1996년 11월, Netscape는 ECMA International을 찾아가서 JavaScript로 표준안을 만들자고 제안
- 1997년 7월, ECMAScript 1 출시
ECMAScript는 브라우저에서 동작하는 언어를 만들 때 문법적인 표준을 정리한 문서이다. - 2000년에는 ECMAScript 4 까지 나오면서 많은 발전이 이루어짐
- 한편, IE 사용자가 95%로 상승하고 Microsofit는 거만해짐
→ IE가 표준이라고 선언하며, ECMAScript 표준안에 참여하지 않게 됨 - 이후 4년 뒤인 2004년이 되어서야 moz://a에서 Firefox라는 브라우저를 만들고 ECMAScript에 자신들의 ActionScript3라는 언어와 Tamarin이라는 엔진을 갖고 표준안 검토를 제안
- 이후 Microsoft와 Netscape, moz://a 3사의 치열한 신경전이 계속됨
라이브러리들의 등장
- 2004년, Jesse James Garrett의 AJAX (Asynchronous JavaScript and XML) 도입
- 이후에 Opera 등의 다른 브라우저들이 생겼고 이에 따라 웹 개발자들의 작업량이 더더욱 증가
- 수요가 늘어남에 따라 더 많은 웹 개발자들이 웹 시장에 들어오고, 강력한 커뮤니티가 형성됨
- 이후 jQuery, dojo, mootools와 같은 라이브러리들이 탄생
라이브러리들의 공통 관심사 : 개발자들이 다른 브라우저의 구현사항을 신경쓰지 않게 하는 것
특히, jQuery가 인기를 끌었음
Chrome의 탄생 및 화합의 장 형성
- 2008년 Google에서 Chrome 브라우저 출시
JIT(Just-In-Time compilation)이라는 강력한 엔진이 포함된 브라우저 - 강력한 브라우저의 등장에 기존에 있었던 3사의 치열했던 신경전이 무색해짐
- 2008년 7월, 표준안을 만들기 위한 협의가 진행됨
- 2009년 ECMAScript 5
- 2015년 ECMAScript 6 (class, arrow function, const, let)
- 이후 매년 새로운 버전이 나오고 있지만 5와 6에서 커다란 변화들이 거의 다 정의되었음
- 드디어 JavaScript는 성숙하고 정착된 언어라고 볼 수 있게 됨
라이브러리들의 도움 없이도 모든 브라우저에서 동작할 수 있는 애플리케이션을 만들 수 있게 됨
※ 참고 자료 : 드림코딩 엘리의 자바스크립트의 역사와 현재 그리고 미래
'JavaScript > Vanilla' 카테고리의 다른 글
객체의 얕은 복사와 깊은 복사 (0) | 2021.07.24 |
---|---|
Hoisting (0) | 2021.07.24 |
Spread와 Rest 문법 (0) | 2021.07.24 |
Closure가 어렵다면 내 탓이 아니라 JS 탓이다! (0) | 2021.07.22 |
let / const / var 그리고 scope (0) | 2021.07.18 |