자바스크립트(JavaScript)의 역사
- Frank So
- 1일 전
- 17분 분량
올해는 자바스크립트가 30주년을 맞은 해입니다.

JavaScript는 30년 전, 10일 만에 개발된 작고 기묘한 스크립팅 언어로 개발된 후, 세계에서 가장 인기 있는 프로그래밍 언어로 성장했습니다. JavaScript가 어떻게 발전해 왔고 앞으로 어떤 방향으로 나아갈지 보여주는 JavaScript 역사의 중요한 순간들을 소개합니다.
1994년
1994년 12월
Netscape에서 Netscape Navigator 1.0을 출시
넷스케이프 내비게이터(Netscape Navigator) 1.0은 웹 역사에 있어 중요한 전환점이었습니다. 1993년에 출시된 웹 브라우저인 모자익(Mosaic) 보다 빠르고 사용하기 편리하여 단숨에 가장 인기 있는 웹 브라우저로 자리매김했습니다. 이전의 텍스트 기반 브라우저들과는 달리 세련된 그래픽 UI를 갖추고 있었습니다. 또한 HTML 2.0과 같은 새로운 표준을 지원했고, 결국 JavaScript까지 등장했습니다.

1995년
1995년 5월
브렌던 아이크(Brendan Eich)의 최초 JavaScript 버전 개발
넷스케이프(Netscape)는 당시 대부분 HTML로 작성되었던 초기 웹에 상호작용 기능을 추가하고 싶어 했습니다. 비슷한 시기에 선 마이크로시스템즈(Microsystems)가 자바(Java)를 출시했고, 넷스케이프는 이 출시의 일환으로 브라우저에서 사용할 수 있도록 자바 라이선스를 취득했습니다. 하지만 자바는 웹 디자이너들에게는 다소 복잡했습니다.

넷스케이프(Netscape)는 브렌던 아이크(Brendan Eich)에게 자바와 유사하지만 클래스 기반이 아닌 객체 지향 스크립팅 언어를 개발해 달라고 요청했습니다. 그리고 단 열흘 만에 오늘날 인터넷의 대부분을 움직이는 언어가 탄생했습니다. 당시 자바가 새로운 프로그래밍 언어로 각광받고 있었기에, 마케팅적인 이유로 "자바스크립트"라는 이름이 탄생했습니다. 이 이름은 그 인기를 잘 활용한 것입니다.
1995년 12월
넷스케이프(Netscape)와 썬(Sun)은 기업 네트워크와 인터넷을 위한 개방형 크로스 플랫폼 객체 지향 스크립팅 언어인 JavaScript를 발표
자바스크립트는 HTML에 상호작용 기능을 추가하는 사용하기 쉽고 가벼운 스크립팅 언어로 소개되었습니다. 이 발표에서 넷스케이프(Netscape)와 썬(Sun)은 새로운 웹에 대한 비전을 제시했습니다. 자바 객체를 클라이언트에 제공하고, 자바스크립트 스크립트가 이를 수정할 수 있도록 하는 것입니다. 또한, 그 당시 미국의 대표 ISP(Internet Service Provider)였던 아메리카 온라인(America Online)부터 도시바(Toshiba Corporation)까지 28개 기술 기업의 업계 지원도 주목할 만합니다.
1996년
1996년 3월
마이크로소프트(Microsoft)는 Netscape Navigator와 경쟁하기 위해 인터넷 익스플로러(Internet Explorer) 3에 JScript를 도입
저작권이 있는 단어인 "자바"를 피하기 위해 JScript라는 이름이 붙은 JScript는 윈도우 생태계에 맞춰 개발된 개방형 자바스크립트 구현체였습니다. 넷스케이프의 자바스크립트와 달리 JScript는 윈도우의 ActiveXObject와 연동할 수 있어 개발자가 인터넷 익스플로러에서 엑셀 스프레드시트 등으로 연결할 수 있었습니다.

1996년 3월
Netscape Navigator 2.0이 JavaScript 1.0과 함께 출시
이것은 Netscape Navigator 2.0과 함께 수백만 가정에 설치된 JavaScript의 첫 번째 버전입니다. JavaScript 1.0에는 웹의 기본 모델이 된 또 다른 핵심 혁신인 문서 객체 모델(DOM)이 도입되었습니다.

1997년
1997년 6월
Netscape, ECMA International에 JavaScript 제출
JavaScript와 Microsoft의 JScript로 인해 브라우저 생태계가 분열되는 것을 막기 위해, Netscape는 누구나 사용할 수 있는 벤더 중립적인 표준 언어를 만들기 위해 JavaScript를 ECMA International 에 제출했습니다. 이 표준 사양은 ECMA-262로 명명되었고, JavaScript와 JScript는 이 언어의 방언이 된 "ECMAScript"(상표권 문제로 JavaScript라는 이름이 붙지 않음)가 되었습니다. 또한, Netscape, Microsoft, Sun Microsystems 등의 대표자들로 구성된 TC39 라는 기술 위원회가 구성되어 ECMAScript의 발전을 관리했습니다.
1998년
1998년 1월
시장 점유율이 감소하는 가운데 Netscape는 Navigator를 오픈 소스화하여 Mozilla Project를 탄생
마이크로소프트가 윈도우에 인터넷 익스플로러를 기본으로 제공한 이후, 넷스케이프 내비게이터의 시장 점유율은 급격히 하락했습니다. 회사를 살리고 마이크로소프트와 경쟁하기 위한 과감한 노력의 일환으로, 넷스케이프는 자사 브라우저 코드인 "모질라"(내부 코드명인 "모자이크(Mosaic)"와 "킬러(killer)"의 합성어)를 오픈소스로 공개하여 커뮤니티가 더욱 발전되고 표준을 준수하는 브라우저 개발에 기여할 수 있도록 했습니다. 다음 날, 넷스케이프의 제이미 자윙크시(Jamie Zawinksi)는 mozilla.org를 등록했습니다. 모질라 프로젝트는 파이어폭스(Firefox), 탭 브라우징, 브라우저 확장 프로그램, 그리고 프로그래밍 언어인 러스트(Rust) 등 여러 가지 영향력 있는 기술과 제품을 만들어냈습니다.
1998년 9월
최초의 ECMAScript 언어 사양 (ECMAScript 2) 공식 출시
ECMAScript 언어에 새로운 기능은 추가되지 않았지만, 명세의 명확성, 일관성, 그리고 표준화를 보장했습니다. 이는 향후 모든 버전의 토대가 되었습니다.
1999년
1999년 3월
마이크로소프트는 이전보다 더 많은 독점 기술을 사용하는 Internet Explorer 5를 출시
중요한 점은 Microsoft가 XMLHttpRequest를 소개하며 JavaScript를 통해 HTTP 요청을 보내는 최초의 실용적인 방법을 도입했다는 것입니다.
1999년 4월
JSDoc 데뷔
JSDoc은 Java용 Javadoc을 기반으로 개발되었으며, JavaScript를 문서화하는 정형화된 구조화 방식을 도입했습니다. 이를 통해 언어에 전문성을 부여하고, IDE 지원을 위한 토대를 마련했으며, 문서 생성을 가능하게 했습니다(jsr.io 상에서 deno doc 과 모듈의 문서 생성 기능도 지원합니다).
1999년 12월
do-while, regex, 새로운 문자열 메서드(concat, match, replace, slice, split), 예외 처리 등을 포함한 ECMAScript 3 출시
ECMAScript 3은 JavaScript의 초기 이정표였으며, JavaScript를 실험적인 스크립팅 언어에서 본격적인 프로그래밍 도구로 탈바꿈시켰습니다. 10년 넘게 브라우저 스크립팅의 기본 언어로 자리 잡았으며, 웹 언어의 기준을 제시한 JavaScript 버전으로 널리 인정받고 있습니다.
2001년
2001년 4월
첫 번째 JSON 메시지 전송
그리고 그 메시지는 아래와 같습니다:
2002년
2002년 6월
"모든 JavaScript 구문 검사기의 원조"인 JSLint 출시
더글러스 크록포드(Douglas Crockford)가 개발한 JSLint는 자바스크립트용 최초의 주요 정적 코드 분석 도구였습니다. 당시 자바스크립트는 널리 사용되었지만 제대로 이해되지 않았고, 체계적으로 작성되지 않았습니다. JSLint는 코드 품질을 향상시키고자 했습니다. JSLint가 강조한 강력한 의견은 크록포드의 저서 "JavaScript, the Good Parts" 의 탄생에 기여했습니다 .
2002년 9월
모질라(Mozilla)는 인터넷 익스플로러와 경쟁하기 위해 파이어폭스(Firefox)의 전신인 피닉스(Phoenix) 0.1을 출시
모질라 애플리케이션 스위트(Mozilla Application Suite)의 느리고 부풀려진 속도에 질린 한 소규모 팀이 웹 브라우저의 심플 버전을 개발했습니다. 넷스케이프와 모질라 스위트의 잿더미에서 브라우저의 부활을 상징하기 위해서였습니다. 당시 인터넷 익스플로러는 시장 점유율 90%를 기록하고 있었고, 혁신은 정체되어 있었습니다. 피닉스는 인터넷 사용자들에게 속도, 간편한 UI, 탭 브라우징, 팝업 차단 기능 등 새로운 것을 제공했습니다. 이는 사용자 중심의 오픈 소스 브라우저 부활을 의미했고, 파이어폭스의 기반이 되었으며, 마이크로소프트의 브라우저 시장 독점을 무너뜨렸습니다.

2003년
2003년 1월
애플(Apple)이 사파리(Safari)와 웹킷(WebKit) 출시
애플 CEO 스티브 잡스가 "Mac OS X용 터보 브라우저"인 사파리를 발표했습니다 . 가장 중요한 것은, 이전에 맥 사용자들이 인터넷 익스플로러에 의존했던 것처럼, 사파리 덕분에 애플이 마이크로소프트에 의존하던 시대가 끝났다는 것입니다. 또한, 이는 몇 년 후 아이폰과 함께 출시될 애플 모바일 사파리의 기반을 마련했습니다. 사파리는 KHTML 브라우저 엔진의 내부 포크인 웹킷(WebKit)을 기반으로 합니다.

2004년
2004년 4월
새로운 비동기 JavaScript 프로토콜인 "AJAX"를 사용하는 Gmail 베타 버전 출시
Gmail 출시는 웹 개발의 전환점이었습니다. AJAX 덕분에 Gmail은 당시 웹사이트로서는 전례 없는 수준의 반응성과 상호작용성을 갖춘 사용자 경험을 제공할 수 있었으며, 웹 애플리케이션의 새로운 웹 2.0 시대를 열었습니다.
2005년
2005년 2월
Jesse James Garrett은 그의 백서 "Ajax: 웹 애플리케이션에 대한 새로운 접근 방식"에서 "AJAX"라는 용어를 사용
Ajax는 비동기 JavaScript와 XML의 약자로, 페이지를 새로고침하지 않고도 서버와 비동기적으로 데이터를 주고받을 수 있는 웹 앱을 만드는 클라이언트 측 기술 모음입니다. Ajax는 풍부하고 매끄러운 사용자 경험을 제공할 수 있는 완전히 새로운 차원의 웹 앱과 프레임워크를 탄생시켰습니다.
2005년 3월
모질라 코퍼레이션이 DevMo By Mozilla를 출시 -> MDN
모질라는 이후 MDN (Mozilla Developer Network)으로 알려진 DevMo By Mozilla를 출시했습니다. MDN은 정확하고 벤더 중립적이며 표준 기반의 문서를 제공했으며, 웹 표준 학습의 중심지 역할을 했습니다. 브라우저 호환성 문제가 주요 골칫거리였고, 문서가 단편적이고 오래되었으며 일관성이 부족했던 중요한 시기에 MDN이 출시되었습니다. MDN은 웹 개발자들이 반드시 알아야 할 필수 자료로 빠르게 자리 잡았고, 개발자 문서의 새로운 기준을 제시했습니다.
2006년
2006년 3월
John Resig가 jQuery라는 프로젝트에 첫 커밋 생성
HTML DOM 트리 탐색, 이벤트 처리, Ajax 등을 간소화하도록 설계된 JavaScript 라이브러리인 jQuery는 브라우저 간 호환성과 관련된 골치 아픈 문제들을 해결하기 위해 개발되었습니다. 또한 개발자 경험의 새로운 기준을 제시하는 잘 문서화된 간결한 API를 제공하며, 실제 페이지 로드 측면에서 가장 널리 사용되는 JavaScript 라이브러리로 자리매김했습니다.
2007년
2007년 1월
최초의 애플(Apple) 아이폰(iPhone), 플래시(Flash)를 지원하지 않는 모바일 사파리(Mobile Safari) 출시
플래시(Flash)를 배제한 것은 의도적이고 논란의 여지가 있는 결정이었습니다. 당시 플래시는 인터랙티브 멀티미디어의 90%를 차지했습니다. 그러나 스티브 잡스는 플래시의 높은 리소스 요구, 잦은 충돌, 그리고 독점적인 특성 때문에 플래시에 반대했습니다. 개발자들은 이를 모바일 웹 콘텐츠의 미래가 플래시에 의존하지 않을 것이라는 신호로 받아들였습니다.

2008년
2008년 2월
Netscape Navigator의 시대가 막을 내리면서 "첫 번째 브라우저 전쟁"이 종료
AOL(America Online)은 90년대 전성기 90% 이상의 시장 점유율을 기록하며 압도적인 브라우저였던 넷스케이프 내비게이터를 공식 중단했습니다. 이는 초창기 인터넷에서 가장 영향력 있는 웹 브라우저 중 하나였던 넷스케이프 내비게이터의 시대가 끝났음을 의미합니다. 마이크로소프트가 윈도우에 통합된 브라우저를 출시하면서 인터넷 익스플로러에 밀려났고, 이는 마이크로소프트를 상대로 한 획기적인 반독점 소송으로 이어져 기술 규제를 재편하는 계기가 되었습니다.

2008년 5월
Douglas Crockford가 "JavaScript: The Good Parts"를 출판
이 책은 이전에는 형편없는 디자인과 혼란스러운 동작으로 조롱을 받았던 JavaScript를 진지한 언어로 재구성했습니다.

2008년 9월
구글(Google)은 당시 가장 빠른 웹 브라우저인 크롬(Chrome) 브라우저와 함께 V8 엔진 출시
당시 인터넷 익스플로러, 파이어폭스, 사파리 같은 브라우저는 상대적으로 느렸고, 자바스크립트 실행 속도에는 거의 초점을 맞추지 않았습니다. 크롬은 새로운 V8 자바스크립트 엔진을 사용하여 속도에 중점을 두고 설계되었습니다. V8은 실행 전에 자바스크립트를 네이티브 기계어로 컴파일하고, just-in-time 컴파일(JIT) 방식을 구현하며, garbage collection을 통해 메모리를 더욱 효율적으로 관리한다는 점에서 혁신적이었습니다. 구글은 곧 V8을 오픈소스로 공개하여 개발자들이 V8을 기반으로 개발할 수 있도록 했으며, 특히 Node.js 프로젝트가 활발하게 진행되었습니다.

2009년
2009년 1월
JavaScript 코드 공유를 위한 사양인 CommonJS(원래 이름은 ServerJS) 생성
이 시점에서 JavaScript는 브라우저를 넘어 서버로 확장되기 시작했습니다. 더 큰 프로젝트가 진행되면서 JavaScript는 많은 소스 코드를 처리할 더 나은 방법을 필요로 했습니다. 즉, 모듈화가 필요했습니다.
2009년 3월
Ryan Dahl이 Node.js 작업을 개시
크로스 플랫폼 오픈 소스 JavaScript 런타임 환경인 Node.js는 웹 브라우저 외부에서 JavaScript를 실행할 수 있도록 했습니다. Node.js가 도입되면서 개발자들은 JavaScript만으로 웹 서버와 풀스택 애플리케이션을 효과적으로 개발할 수 있게 되었습니다. 오늘날 Node.js는 알려진 서버를 보유한 모든 웹사이트의 약 3.5% 에서 사용되고 있으며 , 웹 개발에 있어 여전히 주요 기술로 자리매김하고 있습니다. 몇 년 후 Ryan은 강연에서 Node.js를 소개합니다.
2009년 4월
오라클(Oracle)의 Sun Microsystems와 JavaScript 상표 인수
오라클은 썬 마이크로시스템즈를 인수하고 자바를 소유함으로써 엔터프라이즈 기술 시장에서의 입지를 강화합니다. 이 거래의 일환으로 오라클은 자바스크립트 상표권을 취득하여 자바스크립트 언어의 미래에 대한 혼란을 야기하였습니다.
2009년 6월
Express.js에 대한 첫 번째 커밋 생성
Node.js를 위한 가볍고 유연하며 확장 가능한 웹 프레임워크인 Express.js는 생태계에서 가장 널리 사용되는 프레임워크 중 하나입니다. RESTful API 구축에 중점을 둔 모듈식 미들웨어 아키텍처를 도입했습니다. 생태계에 미치는 영향력은 독보적이며, Koa, Nest, Fastify 등과 같은 프레임워크에 영감을 주었습니다. Express 프로젝트가 한동안 활발하게 커밋되지 않았던 시기도 있었지만, 현재는 버전 5로 운영되고 있으며 활발하게 유지 관리되고 있습니다.
2009년 12월
strict mode getter 및 setter, 새로운 배열 메서드, JSON 지원, string.trim(), 객체 리터럴에 대한 trailing commas를 추가한 ECMAScript 5 업데이트
ECMAScript 5는 10년 만에 이 언어에 대한 최초의 주요 업데이트였으며, JavaScript를 더 강력하고, 안전하고, 유지 관리하기 쉽게 만드는 기능이 도입되었습니다.
2010년
2010년 1월
npm 1.0 출시
Node.js와 JavaScript를 위한 레지스트리인 npm은 JavaScript 공유 방식을 영원히 바꿔놓았습니다. 현재 npm은 300만 개가 넘는 패키지를 보유한 세계 최대 규모의 오픈소스 레지스트리입니다.
2010년 5월
JetBrains의 새로운 JavaScript IDE인 WebStorm 1.0 출시
WebStorm 이전에는 텍스트 편집기가 JavaScript를 최소한으로만 지원했습니다. WebStorm은 코드 분석, 오류 감지, JS/HTML/CSS 코드 완성, JavaScript에 특화된 디버깅 도구 등 고급 기능을 제공하는 최초의 JavaScript 전용 IDE였습니다.
2010년 10월
AngularJS와 Backbone.js 출시
JavaScript가 발전하고 개발자들이 더 복잡한 서버와 애플리케이션을 구축할 수 있는 더 새롭고, 더 빠르고, 더 쉬운 방법을 모색함에 따라, AngularJS와 Backbone이라는 두 가지 풀스택 프레임워크가 출시되었습니다. 두 프레임워크는 각기 다른 이유로 인기를 얻었습니다. Angular는 선언적이고 독단적이었던 반면, Backbone은 명령적이고 간결했습니다. 이는 현대 Single Page Application(SPA)과 "프레임워크 이탈(Framework Churn)"의 시작을 의미하기도 합니다. "프레임워크 이탈"은 이 시대에 여러 JavaScript 프레임워크의 광적인 등장과 소멸을 정의하는 용어입니다.
2011년
2011년 6월
Microsoft와 Joyent가 Node.js를 Windows로 이식
2011년, Joyent의 Ryan Dahl과 Bert Belder(현 Deno 공동 창립자/CTO)는 Node.js를 Windows로 포팅했습니다 . 이는 Node.js가 Unix 기반 시스템을 넘어 그 영역을 확장한 중요한 이정표였습니다. 이러한 노력의 결실로 탄생한 것이 바로 Linux, OS X, Windows에서 비동기 네트워킹을 위한 통합 인터페이스를 제공하는 라이브러리인 libuv 입니다. 이는 Node.js의 성장을 가속화했을 뿐만 아니라 Microsoft의 더 광범위한 오픈 소스 전략의 토대를 마련하여 궁극적으로 개발자 생태계를 혁신하고 TypeScript, VS Code, Azure Cloud Integration과 같은 미래 이니셔티브를 위한 기반을 마련했습니다.
2012년 10월
Microsoft에서 TypeScript 0.8을 대중에게 공개
2010년, C#과 Turbo Pascal을 개발한 Anders Heljsberg는 JavaScript의 정적 타입 기반 상위 집합인 TypeScript를 개발하기 시작했습니다. 이 프로젝트의 목표는 JavaScript를 대규모로 작성하고 유지 관리하는 것을 더 쉽게 만드는 것이었습니다. 2012년, Microsoft는 TypeScript를 공개했습니다. TypeScript는 JavaScript 생태계에서 엔터프라이즈급 개발의 토대를 마련했고, ECMAScript 자체의 설계에 영향을 미쳤으며, JavaScript를 사용하여 대규모 애플리케이션을 구축하는 방식을 변화시켰습니다.
2013년
2013년 3월
Atom Shell (나중에 Electron으로 이름이 변경됨) 에 대한 첫 번째 커밋 생성
Atom Shell (2015년 Electron 으로 이름 변경)은 HTML, CSS, JavaScript와 같은 웹 기술을 사용하여 크로스 플랫폼 데스크톱 애플리케이션 개발의 장벽을 낮췄습니다. Node.js와 Chromium을 사용하여 개발자가 파일 시스템, 네트워크 및 네이티브 OS API에 접근할 수 있도록 했습니다. 원래 2014년 4월 공개 베타 버전으로 출시된 GitHub의 Atom 텍스트 편집기를 구동하기 위해 개발된 Atom Shell은 Slack과 같은 유명 얼리 어답터들이 사용했습니다. 이 프레임워크는 웹 기술을 사용하여 데스크톱 애플리케이션을 개발할 수 있는 시대를 여는 데 중추적인 역할을 했습니다.
2013년 3월
모질라(Mozilla), asm.js 출시
asm.js는 웹에서 네이티브에 가까운 성능을 구현하도록 설계된 JavaScript의 엄격한 하위 집합입니다. 이전에는 JavaScript가 3D 게임이나 비디오 처리와 같은 CPU 집약적인 애플리케이션에 적합하지 않다고 여겨졌습니다. 개발자는 C/C++ 코드를 asm.js로 변환하여 기존 네이티브 애플리케이션을 브라우저에서 실행할 수 있었습니다. 이는 계산량이 많은 애플리케이션을 위한 중요한 런타임으로서 JavaScript의 발전에 있어 큰 진전이었으며, 몇 년 후 WebAssembly의 기반이 되었습니다.
2014년 7월
Strongloop, 오픈소스 프레임워크 Express 인수
엔터프라이즈급 Node.js 솔루션 전문 기업인 StrongLoop (Deno 공동 창립자 Bert Belder가 공동 창립)은 Express.js에 대한 권리를 인수하여 API 및 마이크로서비스에 중점을 둔 더 광범위한 도구 제품군에 통합하고자 했습니다. 커뮤니티는 인수로 인해 Express의 독립성이 상실될 것이라고 판단하여 Koa와 같은 다른 프레임워크가 개발되었습니다. 이후 IBM은 2015년 StrongLoop을 인수했고, 2019년에는 Express.js가 OpenJS Foundation에 가입하여 거버넌스를 확보하고 장기적인 지속 가능성을 확보했습니다. 10년간 Express 4.x에 머물러 있던 Express 5는 마침내 2024년 10월에 출시되었습니다.
2014년 11월
Amazon, Node.js 기반 AWS Lambda 발표
이미 클라우드 컴퓨팅 시장을 선도하는 Amazon Web Services는 Lambda를 통해 새로운 서버리스 패러다임을 선보입니다. Lambda를 사용하면 개발자는 인프라 프로비저닝 없이 코드를 업로드하고 이벤트에 응답하여 실행할 수 있습니다. 출시 당시 Lambda 함수는 Node.js의 이벤트 기반 논블로킹 모델 덕분에 Node.js 기반 JavaScript만 지원되었으며, 이는 Lambda의 상태 비저장 및 단기 실행 환경에 적합했습니다. AWS Lambda의 등장으로 서비스형 함수(FaaS) 개념이 도입되었고 서버리스 컴퓨팅 운동이 시작되었으며, 1~2년 후 Google과 Microsoft가 자체 버전을 출시했습니다.
2015년 2월
Node.js Foundation이 소개 됨
Linux Foundation 산하 Node.js Foundation은 프로젝트 단편화를 해결하여 Node.js의 개발 및 도입을 촉진하기 위해 설립되었습니다. 당시 Node.js의 주요 포크인 io.js는 더 빠른 릴리스와 더 나은 거버넌스를 추구하는 이전 Node.js 기여자 그룹에 의해 관리되었으며, 2015년 6월에 Node.js로 다시 통합되었습니다. Node.js Foundation은 IBM, Microsoft, PayPal, Intel, Fidelity, Joyent, 그리고 Linux Foundation과 같은 주요 기술 기업들의 지원을 받았습니다.
2015년 6월
"해킹 가능한" 텍스트 편집기 Atom 출시
Atom은 웹 기술 기반으로 구축된 최초의 확장성 높은 데스크톱 편집기 중 하나였습니다. 심층적인 사용자 정의를 강조하여 개발자가 패키지와 테마를 사용하여 UI부터 핵심 동작까지 모든 것을 조정할 수 있도록 했습니다. Atom은 Atom Shell(현재 Electron)을 크로스 플랫폼 데스크톱 애플리케이션 개발 프레임워크로서 검증했을 뿐만 아니라, 개발자들이 텍스트 편집기를 도구에서 플랫폼으로 인식하는 방식을 완전히 바꾸어 놓았습니다. Atom은 VS Code와 같은 현대적이고 확장 가능한 웹 기반 도구의 물결을 일으켰고, 이러한 도구들은 Atom의 핵심 아이디어를 채택하고 개선했습니다.
2015년 7월
ECMAScript 6 (ES2015) 출시
ES6가 출시되면서 JavaScript는 마침내 개발자들이 요청했던 fetchAPI 및 import, export 와 함께 ESM 네이티브 모듈 시스템 등 많은 기능을 갖추게 되었습니다 .
2015년 9월
Node.js v0.12 + io.js = Node.js v4.0
Node.js v4.0은 Node.js와 io.js 프로젝트 모두에서 수많은 시간을 들여 단일 코드베이스로 통합된 결과물입니다. 여러 npm 모듈이 특정 런타임과 호환되지 않아 분열되었던 커뮤니티를 통합하는 이번 합병은 장기 지원 일정과 새로운 의미론적 버전 관리 체계를 도입했습니다. 합병의 성공은 개방형 거버넌스와 커뮤니티 협업의 힘을 보여주었습니다.
2016년
2016년 1월
Microsoft, Edge의 Chakra JavaScript 엔진 오픈 소스화
마이크로소프트는 Chakra를 오픈소스로 전환하여 외부 기여자를 유치하고 자사 Edge 브라우저를 넘어 더 많은 개발자를 확보하고자 했습니다. 초기에는 개발자들의 상당한 관심을 받았고, 마이크로소프트는 Chakra에서 실행되는 Node.js 버전까지 출시했습니다. 그러나 V8은 대규모 커뮤니티와 풍부한 도구 덕분에 여전히 지배적인 엔진으로 남았습니다. 2021년, 마이크로소프트는 V8 엔진을 기반으로 하는 Chromium 기반 Edge로 전환하면서 Chakra 지원 중단을 발표하고 활발한 개발을 중단했습니다.
2016년 3월
Azer Koculu는 npm에서 Leftpad를 제거하여 수백만 명의 사용자에게 영향을 미치는 공급망 공격을 실수로 초래했습니다
흔히 "npm Leftpad 사건" 으로 알려진 이 사건은 Kik 메신저와의 분쟁 이후 Azer가 left-pad를 npm에서 제거한 사건입니다 . 이로 인해 React와 Babel을 포함하여 left-pad를 종속성으로 사용하는 수천 개의 프로젝트가 빌드되거나 설치되지 못했습니다. 이는 Meta, Netflix, Spotify와 같은 주요 기술 기업에 큰 혼란을 초래했으며, 공급망 취약점이 JavaScript 생태계에 미칠 수 있는 엄청난 영향을 강조했습니다. 이후 npm은 사용자의 패키지 제거 기능을 제한하는 정책을 변경했습니다.
2016년 4월
Microsoft의 VSCode 1.0 출시
VSCode는 웹 기술(Electron, TypeScript)을 기반으로 구축되었을 뿐만 아니라 최고 수준의 JavaScript 및 TypeScript 지원을 제공했습니다. Sublime Text, Atom, 그리고 다른 완전한 IDE들을 빠르게 뒤흔들었습니다. Microsoft는 2015년 Microsoft Build 컨퍼런스에서 VSCode를 발표했습니다.
2016년 6월
ECMAScript 2016 출시. 지수 연산자(**)와 array.includes() 메서드가 추가 됨
2016년 9월
Angular(Angular2) 출시
Angular는 기존 AngularJS 프레임워크를 완전히 새롭게 재해석하여 기존 프레임워크의 여러 단점을 해결하기 위해 처음부터 개발되었습니다. 주요 차이점으로는 Model-View-Controller(MVC)를 컴포넌트 트리 구조로 대체하고, 더 나은 전반적인 툴링을 가능하게 하는 TypeScript를 도입했으며, 성능과 보안을 위해 Ahead-of-Time 컴파일을 적용한 것이 있습니다. Angular는 구조와 독창적인 프레임워크 덕분에 대규모 엔터프라이즈 애플리케이션에 최고의 선택이 되었습니다.
2016년 10월
Next.js 1.0 출시
Next.js는 React, Webpack, Babel을 기반으로 서버 렌더링 방식의 범용 JavaScript 웹 애플리케이션을 위한 작은 프레임워크로 시작되었습니다. Next.js는 React를 이용한 서버 사이드 렌더링을 간소화하여 풀스택 React 앱의 기반을 마련했습니다. Next.js를 통해 개발자는 콘텐츠가 많고 SEO에 중점을 둔 웹사이트에 React를 사용할 수 있습니다. 이 프레임워크는 결국 프로덕션급 React 앱의 기본 프레임워크가 되었습니다.
2017년
2017년 3월
Temporal proposal 에 대한 초기 커밋 생성
Temporal proposal은 JavaScript 내장 객체의 오랜 문제 Date, 즉 불변성 부족, 시간대 및 일광 절약 시간제 지원 부족, 그리고 일관성 없는 파싱 문제를 해결하기 위해 도입되었습니다. 2021년에 Temporal 제안은 ECMAScript 표준에 포함되도록 승인되었습니다. 하지만 현재 Temporal API를 지원하는 환경은 Firefox Nightly와 Deno뿐입니다.
2017년 4월
Prettier 1.0 출시
Prettier는 코드를 파싱하고 자체 규칙 집합으로 재인쇄하여 일관된 코드 스타일을 적용하는 독선적인 코드 포매터로, 일관되지 않은 포매팅으로 인해 코드 검토에 낭비되는 시간을 줄이는 것을 목표로 했습니다. ESLint와 같은 도구는 문제 감지에 중점을 두었지만, Prettier가 도입한 포매팅을 자동으로 수정하지는 못했습니다. 또한 Prettier는 '먼저 작성하고 나중에 포매팅하는' 워크플로를 장려하여 더욱 깔끔한 코드와 협업을 가능하게 했습니다. Prettier의 영향력은 JavaScript를 넘어 확장되었습니다. Python 프로젝트는 Black을 도입했고 , Rust는 포매터를 툴체인의 일부로 추가하여 포매팅을 타협 불가능한 빌드 단계로 처리했습니다.
2017년 6월
ECMAScript 2017은 문자열 패딩, Object.entries(), Object.values(), 비동기 함수 등을 포함하여 출시
2017년에는 모든 최신 브라우저(IE11 제외)에서 fetch() 에 대한 지원이 강력해졌고, 많은 개발자가 (Babel 사용 여부와 관계없이) async/await을 사용했습니다.
2017년 9월
Cloudflare는 개발자가 엣지에서 JavaScript를 실행할 수 있도록 하는 Cloudflare Workers를 출시
Cloudflare Workers는 serverless 원칙을 엣지 분산(당시 약 100개, 현재 300개 이상의 데이터 센터) 및 빠르고 확장 가능한 격리와 결합하여 서버리스 엣지 컴퓨팅의 새로운 시대를 열었습니다. 엣지 분산은 서버리스 코드를 최종 사용자와 가까운 곳에서 실행하여 지연 시간을 최소화할 수 있음을 의미합니다. Cloudflare Workers는 컨테이너나 마이크로 VM 대신 가벼운 V8 격리(isolate) 기반으로 구축되어 콜드 스타트 시간도 최소화되었습니다. Cloudflare Workers의 등장은 Cloudflare를 웹사이트 보안과 성능을 제공하는 CDN 기업에서 완전한 웹 애플리케이션 플랫폼으로 탈바꿈시켰습니다. 또한 Netlify, Vercel, Deno Deploy와 같은 다른 플랫폼에서도 격리 기반 엣지 기능을 추가할 수 있는 길을 열어주었습니다.
2018년
2018년 1월
Google의 Puppeteer 1.0 출시
여러 언어 바인딩이 필요한 Selenium과 같은 다른 브라우저 자동화 도구와 달리, Puppeteer는 Node.js용으로 특별히 개발되어 헤드리스 Chrome을 제어하는 더욱 현대적인 JavaScript 기반 API를 제공합니다. Puppeteer 출시로 Chromium이 자동화를 위한 기본 브라우저 엔진으로 자리 잡았고, PhantomJS의 쇠퇴를 초래했으며, Playwright와 Cypress 같은 프레임워크의 개발에 영향을 미쳤습니다.
2018년 6월
ECMA TC39 "Smooshgate"는 flatten를 flat으로 이름을 변경하여 해결
2018년 TC39는 중첩 배열을 평평하게 만드는 flatten이라는 새로운 메서드를 JavaScript 배열에 추가하는 것을 제안했습니다. 그러나 이 이름은 인기 JavaScript 라이브러리인 MooTools에서 사용하는 기존 메서드와 충돌했습니다. MooTools는 제안된 구현 방식과 호환되지 않는 방식으로 해당 메서드를 정의했기 때문입니다. 이에 대해 일부 TC39 회원들은 농담조로 메서드 이름을 flatten에서 smoosh (박살내다)로 바꾸자고 제안했습니다. 진지하게 받아들일 의도는 아니었지만, 토론과 밈(meme)에서 큰 호응을 얻었습니다.
2018년 6월
Ryan Dahl은 Node의 후회에 대한 이야기에서 새로운 프로젝트에 대한 힌트를 줌
2018년 Ryan Dahl은 널리 알려진 그의 강연 "Node에 대해 후회하는 10가지" 에서 "Deno"(Node의 애너그램)라는 새로운 JavaScript 런타임을 발표했습니다 .
2018년 10월
ECMAScript 2018은 rest/spread 속성, async iteration, promise.finally(), 등을 포함하여 출시
2019년
2019년 3월
JavaScript Foundation과 Node.js Foundation이 합병하여 OpenJS Foundation을 형성
당시 JavaScript 오픈소스 생태계는 여러 재단으로 분산되어 있었고, 각 재단은 서로 다른 프로젝트를 관리하고 있었습니다. Node.js와 서버 사이드 JavaScript에 중점을 둔 Node.js 재단이 있었고, jQuery, ESLint, Lodash와 같은 클라이언트 사이드 라이브러리를 관리하는 JavaScript 재단(이전 jQuery 재단)이 있었습니다. 두 재단은 독립적으로 운영되어 리소스가 중복되고 JavaScript 프로젝트에 대한 지원이 분산되었습니다. 그러나 Node.js가 JavaScript의 사실상의 백엔드 런타임으로 자리 잡고 프런트엔드 라이브러리가 성장함에 따라, 두 재단의 합병은 거버넌스를 통합하고 JavaScript를 전체적으로 지원하는 것을 목표로 했습니다.
2019년 4월
Node.js는 v12.0.0 에서 ECMAScript 모듈에 대한 실험적 지원을 추가
JavaScript가 코드를 모듈화하고 공유하는 방식으로 ES 모듈을 도입함에 따라, Node.js도 서서히 그 뒤를 따릅니다. v12.0.0에서 Node.js는 .mjs 파일 확장자, type 필드 package.json, 그리고 CommonJS와의 상호 운용성을 위한 새로운 메커니즘을 도입했습니다.
2019년 7월
Object.fromEntries(), String.prototype.trimStart() 등을 탑재한 ECMAScript 2019 출시
2019년 11월
Node.js는 v13.2.0에서 ECMAScript 모듈에 대한 지원을 안정화
Node v13.2.0은 ECMAScript 모듈 지원의 공식 안정화를 의미하며, Node.js 생태계에서 중요한 이정표입니다. 이를 통해 Node.js는 최신 JavaScript 모듈 시스템과 호환되어 개발자가 네이티브로 표준화된 import와 export 구문을 사용할 수 있게 되었습니다.
2020년
2020년 5월
JavaScript가 SpaceX Dragon으로 우주로 진출
아래의 유명한 터치스크린 인터페이스는 크로미엄에서 실행되며 완전히 자바스크립트로 작성되었습니다. SpaceX 소프트웨어 엔지니어들과의 AMA(질의응답) 에서 그들은 크로미엄을 선택함으로써 SpaceX가 해당 기술에 능숙한 많은 프로그래머들을 활용할 수 있었다고 언급했습니다.

2020년 5월
Deno 1.0 출시
Ryan Dahl이 최신 JavaScript 작성을 위한 완전 툴체인 Deno의 첫 번째 주요 버전을 발표했습니다. 최고 수준의 TypeScript 지원, 옵트인 권한 모델, 그리고 HTTP 임포트를 갖춘 단일 실행 파일로 출시됩니다.
2020년 12월
Adobe는 Flash 소프트웨어를 중단하고 인터넷 문화에 영향을 미친 플래시 비디오와 게임 시대를 마감
2022년
2022년 6월
Deno가 TC39에 합류하여 JavaScript 표준을 서버 측에서 수용한다는 회사의 비전을 강조
2022년 6월
Internet Explorer 11 종료
IE11의 지원 종료는 한때 세계에서 가장 널리 사용되는 브라우저였던 인터넷 익스플로러가 20년간 주도해 온 시대의 종식을 의미했습니다. IE11의 많은 보안 취약점과 표준 미비로 인해, 이는 웹 생태계를 더욱 표준화되고 안전하며 성능이 뛰어난 미래로 발전시키는 데 중요한 발걸음이었습니다.

2022년 6월
최상위 수준의 await, 새로운 클래스 요소, 클래스 내부의 정적 블록 등을 포함한 ECMAScript 2022 출시
2024년
2024년 2월
Node.js, 디자인 콘테스트를 거쳐 Rocket Turtle을 마스코트로 선정
마스코트 아이디어는 Node.js 커뮤니티에서 수년간 논의되어 왔습니다. 2023년, Matteo Collina는 Node.js 마스코트에 대한 논의를 GitHub 이슈에 게시했고, 트위터 디자인 콘테스트 로 마무리되었습니다 . 2월, 최종 디자인은 Rocket Turtle로 선정되었습니다.

2024년 6월
well-formed 유니코드 문자열을 반환하기 위한 toWellFormed() 메서드 등이 추가된 ECMAScript 2024 출시
2024년 9월
#FreeJavaScript 를 위한 Oracle과의 법적 싸움 시작
Ryan Dahl이 Oracle에 JavaScript 상표권을 포기해 달라고 요청하는 블로그 게시물이 JavaScript 커뮤니티의 관심을 끌었 지만 (Oracle 측에서는 아무런 반응도 없었습니다), Deno 팀은 상표 포기를 이유로 USPTO에 상표권 취소 청원을 제출하여 Oracle의 소유권에 이의를 제기하고자 Oracle에 공개 서한을 보냈습니다. 이 공개 서한에는 Brendan Eich, Isaac Z. Schlueter 등 유명 인사들을 포함하여 약 2만 명의 서명이 모였습니다. 현재 법적 공방이 진행 중이지만, Deno의 X 또는 Bluesky를 팔로우하시면 최신 소식을 확인하실 수 있습니다.
2024년 10월
Deno 2 출시
Deno 2는 Deno 1.x의 단순함을 유지하면서도 Node.js 및 npm과 같은 기존 JavaScript와의 하위 호환성을 제공하는 주요 업데이트입니다. 출시와 함께 Deno는 상용 .NET Framework를 배포하는 최초의 JavaScript 런타임이 되었습니다.
2025년
2025년 3월
TypeScript가 Go로 이식
원래 TypeScript/JavaScript로 구현된 TypeScript는 프로젝트가 확장됨에 따라 오랫동안 성능 문제에 직면해 왔습니다. 이 문제를 해결하기 위해 Anders Hejlsberg는 TypeScript의 Go 포팅을 실험하기 시작했습니다. 초기 벤치마크에서 약 10배 향상된 속도가 나타났고, 이에 고무되어 TypeScript 팀은 Go 포팅을 진행하여 tsgo 라는 이름을 붙였습니다. TypeScript 팀은 JavaScript 기반 버전과 기능적으로 동등한 수준이 되면 TypeScript의 Go 포팅을 TypeScript 7.0으로 출시할 계획입니다.
2025년 5월
Microsoft는 VSCode의 Copilot Chat 확장 프로그램을 오픈 소스로 공개한다고 발표
개발자들을 위한 여러 도구가 출시되면서 AI 에이전트 코딩이 활발해짐에 따라, Microsoft는 GitHub Copilot Chat 확장 프로그램을 MIT 라이선스로 라이선스할 것이라고 발표하며 오픈 소스를 적극적으로 지지하고 있습니다. 궁극적으로 VS Code를 오픈 소스 AI 편집기로 만드는 것이 목표입니다. 이러한 움직임은 커뮤니티가 편집기 간 공통 AI 상호작용을 개선하고 확장하도록 장려하여 모든 도구에서 에이전트 코딩 경험을 개선할 것입니다.
JavaScript는 30년이라는 긴 여정을 통해 엉성한 스크립팅 언어에서 벗어나 동적 프론트엔드부터 풀스택 애플리케이션, 네이티브 앱, 심지어 AI 도구까지 모든 것을 구동하는 현대 웹 개발의 중추로 자리매김했습니다. JavaScript의 진화는 오픈 소스에 대한 헌신, 열정적인 커뮤니티, 끊임없이 성장하는 생태계, 그리고 끊임없는 혁신을 통해 이루어졌습니다.
JavaScript 30주년을 맞이하는 지금, JavaScript가 앞으로 나아갈 방향에 대해서도 기대가 큽니다. 더 빠른 런타임, 더 스마트한 도구, 그리고 그 어느 때보다 접근성이 뛰어나고 강력하며 창의적인 웹을 향해 나아가는 것입니다. 앞으로의 30년, 경계를 넓혀갈 미래를 응원합니다!
참고: