개인의 기록
  • 소개
  • 프로젝트
  • 글
  • 링크

© 2026 newgirok

← 글 목록

JavaScript의 간략한 역사 (1994~2025)

2026년 6월 23일
JavaScriptECMAScript역사웹

올해 자바스크립트 30주년을 맞아 Deno가 그동안의 역사를 간략히 요약했다.

1994

  • Netscape Navigator 1.0 출시 (12월)
  • 이전 브라우저들보다 빠르고 GUI를 갖춘 점이 인기 요인

1995

  • Brendan Eich가 10일 만에 자바스크립트 초안 개발 (5월)
  • 당시 인기 있던 Java와 유사한 문법을 갖춘 스크립트 언어 요청에 따라 개발
  • 이름은 마케팅 목적상 JavaScript로 결정
  • Netscape와 Sun이 12월에 자바스크립트를 "웹을 위한 경량 객체지향 스크립팅 언어"로 발표
  • 28개 기술 기업들의 지지를 받음

1996

  • Microsoft가 Internet Explorer 3에 JScript 탑재 (3월)
  • JScript는 ActiveX와 연동되어 Excel 같은 응용프로그램을 제어 가능
  • Netscape Navigator 2.0에서 JavaScript 1.0 정식 데뷔 (같은 해 3월)
  • DOM(Document Object Model) 개념이 이 시점에서 시작

1997

  • Netscape가 자바스크립트를 ECMA International에 표준화 제안 (6월)
  • Microsoft의 JScript와의 호환 문제 해결 목적
  • ECMA-262 명세 작성, 명칭은 ECMAScript로 지정
  • TC39 위원회 구성되어 언어 발전 관리 시작

1998

  • Netscape가 소스코드 오픈 (1월, Microsoft의 브라우저 시장 독점에 대응)
  • 프로젝트 명칭은 "Mozilla"로, 이후 Firefox, Rust 등 다양한 오픈소스 성과로 이어짐
  • ECMAScript 2 정식 발표 (9월)
  • 새로운 기능은 없었으나 명세의 일관성 및 문서화가 주요 목표

1999

  • IE5에서 XMLHttpRequest 도입 (3월)
  • 이는 이후 AJAX 기술의 기반이 됨
  • JavaScript 문서화를 위한 JSDoc 도입 (4월)
  • 자바 기반 Javadoc의 영향을 받았으며 현재도 문서 생성 도구로 사용
  • ECMAScript 3 정식 발표 (12월)
  • do-while, 정규표현식, 문자열 메서드, 예외처리 등 추가
  • 이후 10년 이상 웹 표준 자바스크립트의 사실상 기준으로 사용

2001

  • 최초의 JSON 메시지 전송
  • 웹 페이지 내 스크립트에서 { to, do, text } 형태의 객체 구조 사용
  • 자바스크립트 기반의 경량 메시지 포맷으로, 이후 웹 API 통신의 표준이 됨

2002

  • Douglas Crockford가 정적 문법 검사 도구 JSLint 발표
  • 자바스크립트 코드 품질을 높이고, 이후 그의 저서 JavaScript: The Good Parts로 이어짐
  • Firefox의 전신 Phoenix 0.1 출시
  • Mozilla 커뮤니티가 경량 브라우저 개발
  • 탭 브라우징, 팝업 차단 등 혁신적 기능 제공

2003

  • Apple의 Safari와 WebKit 발표
  • Safari 브라우저와 WebKit 엔진 도입으로 Mac의 Microsoft 종속성 탈피
  • 이후 iPhone에서 Mobile Safari의 기반이 됨

2004

  • Gmail의 AJAX 기반 인터페이스로 새 시대의 웹앱 UX 기준 제시
  • 페이지 전체 리로드 없이 서버와 데이터 교환 가능
  • Web 2.0 시대 개막

2005

  • Jesse James Garrett가 "AJAX"라는 개념 명문화
  • JavaScript + XML 조합을 통해 비동기 서버 통신 구조 정립
  • Mozilla DevMo 출범 → MDN으로 발전
  • 표준 기반 자바스크립트 문서화 허브 MDN 시작

2006

  • John Resig가 jQuery 프로젝트 시작
  • DOM 조작, 이벤트 처리, AJAX 등 크로스브라우저 이슈 해결
  • 간결한 API로 폭발적 확산

2007

  • Apple iPhone 발표, Safari는 Flash 미지원
  • 모바일 환경에서 HTML+JavaScript 기반 콘텐츠로의 전환 가속화

2008

  • AOL이 Netscape 개발 종료 (1차 브라우저 전쟁 종료)
  • MS의 IE 독점 → 반독점 소송으로 이어짐
  • Crockford의 저서 JavaScript: The Good Parts 출간
  • 자바스크립트를 전문 개발 언어로 재평가하는 계기 제공
  • Google Chrome과 V8 엔진 발표
  • Chrome 출시와 함께 V8 JavaScript 엔진 공개
  • JIT 컴파일, 가비지 컬렉션 최적화로 성능 대폭 향상
  • 이후 Node.js 등 서버 사이드 확장 기반 마련

2009

  • CommonJS 등장
  • 브라우저 외 환경(서버 등)에서 모듈화된 JS 코드 사용 표준화 시도
  • 이는 이후 Node.js 생태계의 모듈 구조 기반이 됨
  • Ryan Dahl이 Node.js 개발 착수
  • JavaScript를 서버 환경에서 실행할 수 있게 하며 풀스택 언어로 확장
  • Oracle의 Sun Microsystems 인수
  • Java와 함께 JavaScript 상표권도 Oracle로 이관
  • JavaScript 명칭에 대한 상표 이슈 발생
  • Express.js 첫 커밋
  • Node.js 기반의 웹 프레임워크, REST API 구축 중심의 미들웨어 구조
  • ECMAScript 5 정식 발표
  • 엄격 모드(strict mode), JSON 지원, Array 메서드 추가 등
  • 현대 JS 기능 기반 정비
  • CoffeeScript 등장
  • 간결한 문법, 화살표 함수, 구조 분해 등 ES6 이전의 문법 개선 실험
  • 이후 JavaScript 문법 발전에 간접적 영향

2010

  • npm 1.0 출시
  • 자바스크립트용 패키지 매니저, 코드 공유와 재사용의 표준화 시작
  • 현재 3백만 개가 넘는 패키지를 보유한 세계 최대 오픈소스 레지스트리로 성장
  • JetBrains에서 최초의 전용 자바스크립트 IDE WebStorm 1.0 출시
  • 정적 분석, 오류 탐지, 자동완성, 디버깅 기능 통합 제공
  • AngularJS & Backbone.js 등장
  • SPA 프레임워크 붐의 시작
  • Angular는 선언형/의존성 주입, Backbone은 절차형/간결성 중심
  • 이 시기부터 프레임워크의 빈번한 등장과 소멸 현상("Framework churn")

2011

  • Joyent와 Microsoft의 협업으로 Node.js가 Windows에서도 동작
  • libuv 라이브러리 개발 → 비동기 I/O 통합 플랫폼
  • 이후 TypeScript, VSCode, Azure 전략 등으로 이어지는 MS의 오픈소스 행보의 시작

2012

  • Webpack 등장
  • 웹 자산 번들링 도구로서 모듈 시스템을 클라이언트로 확장
  • 이후 React, Angular, Vue 등의 핵심 빌드 시스템으로 채택
  • Microsoft에서 TypeScript 0.8 공개
  • 정적 타입 기반 자바스크립트 슈퍼셋
  • 대규모 프로젝트에 적합한 구조 제공

2013

  • Atom Shell(Electron의 전신) 시작
  • HTML/CSS/JS로 데스크탑 앱 개발 가능
  • Slack, Visual Studio Code 등에서 채택
  • asm.js 공개
  • C/C++ 코드를 JS로 변환하여 브라우저 내 고성능 계산 가능
  • 이후 WebAssembly로 발전
  • MEAN 스택 정의
  • MongoDB + Express + Angular + Node.js 조합 명명
  • JavaScript 기반 풀스택 개발 방식 확산
  • Facebook에서 React 공개
  • 내부 사용 후 오픈소스로 공개
  • 컴포넌트 기반 UI 개발 패러다임 정착
  • Nicholas C. Zakas에 의해 ESLint 개발 시작
  • 확장 가능한 린팅 도구
  • 기존 린터들보다 커스터마이징 가능성이 높아 빠르게 확산
  • Gulp 출시
  • 구성 중심의 Grunt와 달리 코드 기반 스트리밍 빌드 도구
  • 자바스크립트로 빌드 작업을 자동화하는 흐름 형성

2014

  • Evan You가 Vue.js 출시
  • 점진적 UI 프레임워크
  • React의 선언형 UI와 Angular의 템플릿 기능을 절충
  • StrongLoop가 Express.js 인수 → 이후 IBM에 인수됨
  • 커뮤니티 독립성 문제 제기로 Koa 등 후속 프레임워크 등장
  • Babel.js 시작 (구 6to5)
  • 최신 JS 문법을 구형 브라우저에서도 실행 가능하게 함
  • 모든 프레임워크의 표준 트랜스파일러로 정착
  • Meteor 1.0 출시
  • 실시간, 단일 스택 웹앱 개발 도구로 주목
  • 이후 GraphQL, Firebase 등 실시간 기술에 영향을 줌
  • Facebook의 Flow 공개
  • 정적 타입 검사 도구로 JS 오류를 사전에 탐지
  • 이후 TypeScript의 성장으로 사용률은 감소
  • AWS Lambda 발표
  • JavaScript(Node.js) 기반 서버리스 컴퓨팅 도입
  • 이벤트 기반 함수 실행을 통해 인프라 관리 없이 백엔드 구현 가능
  • io.js 포크
  • Joyent의 느린 Node.js 릴리스에 반발해 커뮤니티에서 io.js 분기
  • 이후 2015년 Node.js로 재병합됨

2015

  • Jamstack 용어 등장
  • JavaScript + API + Markup 조합 강조
  • SSR과 SSG 방식이 각광받으며 정적 사이트 생성기 부상
  • Node.js Foundation 설립
  • io.js와의 통합을 포함해 커뮤니티 거버넌스 정비
  • IBM, Microsoft 등 주요 기업 참여
  • Facebook에서 GraphQL 런칭
  • API 쿼리 언어, 선언형 방식, 강타입 설계, 서버 요청 최소화를 특징
  • Redux 출시
  • React의 상태관리를 위한 예측 가능한 상태 컨테이너
  • 이후 Vue, Angular 등에서도 채택
  • WebAssembly 발표
  • 브라우저에서 C/C++ 등의 고성능 코드 실행 가능
  • asm.js의 후속으로 웹의 범용 실행 환경으로 자리매김
  • GitHub에서 Atom 1.0 출시
  • Electron 기반 해커블 텍스트 에디터
  • VSCode에 직접적 영향을 미침
  • ECMAScript 6 (ES2015) 정식 발표
  • import/export, let/const, Promise, fetch 등 대규모 문법 개선
  • 현대 자바스크립트의 기반이 되는 버전
  • Node.js v4.0 발표로 Node.js와 io.js 통합
  • 장기 지원(LTS), 의미있는 버전 정책 확립

2016

  • Microsoft가 Edge 브라우저의 JS 엔진인 Chakra 오픈소스화
  • 개발자 커뮤니티 관심을 받았으나 이후 V8 우세에 밀려 중단
  • left-pad 모듈 삭제로 인한 대규모 패키지 의존성 붕괴 사태 (Leftpad 사건)
  • npm 정책 변화 계기
  • Microsoft에서 VSCode 1.0 출시
  • Electron과 TypeScript 기반 경량 IDE
  • 빠른 속도, 확장성, 우수한 JS/TS 지원으로 빠르게 인기
  • ECMAScript 2016 발표
  • ** 연산자와 array.includes 등 소규모 업데이트
  • Angular2 발표
  • AngularJS와는 완전히 다른 TypeScript 기반 컴포넌트 아키텍처
  • AOT 컴파일 및 보안 강화로 엔터프라이즈 선택지로 부상
  • Next.js 1.0 출시
  • React 기반 서버사이드 렌더링 프레임워크
  • SEO와 퍼포먼스를 고려한 풀스택 React 개발 표준화 추진

2017

  • Temporal 제안 초기 커밋
  • Date 객체의 문제점 해결을 위한 Temporal API 제안
  • 2021년에 ECMAScript 표준에 포함 승인, 현재 일부 환경에서만 지원
  • Prettier 1.0 출시
  • 일관된 코드 스타일을 자동 적용하는 포매터
  • Python의 Black, Rust의 포매터 등장에도 영향
  • ECMAScript 2017 공개
  • async/await, Object.entries, Object.values 등 현대 JS 기능 도입
  • fetch 사용의 일반화
  • Yarn 출시
  • npm의 느림과 충돌을 해결하기 위한 패키지 매니저
  • yarn.lock, 병렬 설치, 캐시 등 혁신적 기능 도입
  • Cloudflare Workers 출시
  • 엣지 컴퓨팅 시대 개막
  • 서버리스 코드가 전세계에 분산 실행 가능

2018

  • Puppeteer 1.0 출시
  • 헤드리스 Chrome 기반 브라우저 자동화 도구
  • Node.js 친화적인 API로 Selenium 대비 간결함 제공
  • TensorFlow.js 출시
  • 브라우저에서 머신러닝 실행 가능
  • WebGL/WebGPU 기반 실시간 AI 앱 구현
  • Smooshgate
  • Array.flatten 명칭 충돌로 인해 flat으로 변경
  • MooTools와의 호환성 문제에서 비롯됨
  • Ryan Dahl의 Deno 발표
  • Node의 문제점 회고와 함께 Deno 런타임 초기 공개
  • ECMAScript 2018 공개
  • promise.finally, async iteration, 객체 rest/spread 도입

2019

  • OpenJS Foundation 출범
  • Node.js Foundation과 JavaScript Foundation 통합
  • 서버/클라이언트 프로젝트 거버넌스 통합
  • Node.js v12: ESM 실험적 지원 시작
  • .mjs, type: module 등을 통해 ES 모듈 실험 도입
  • ECMAScript 2019 공개
  • Object.fromEntries, String.prototype.trimStart 등 추가
  • Node.js v13.2: ESM 정식 안정화

2020

  • SpaceX Dragon에 JavaScript 사용
  • 크롬 기반 터치스크린 인터페이스에 자바스크립트 사용
  • Deno 1.0 출시
  • TypeScript 기본 지원, 퍼미션 모델, HTTP import 등 혁신적 접근
  • Adobe Flash 공식 종료
  • JS 중심의 웹 멀티미디어 환경 정착

2022

  • Deno가 TC39에 가입
  • 자바스크립트 표준화 참여 선언
  • IE11 지원 종료
  • 표준 기반 웹 생태계로의 이행 마무리
  • ECMAScript 2022 발표
  • top-level await, 클래스 정적 블록 등 추가

2023

  • Bun 1.0 출시
  • Zig로 구현된 초고속 Node.js 대체 런타임
  • npm 호환, 빌드 도구 통합

2024

  • Node.js 마스코트 Rocket Turtle 선정
  • 커뮤니티 공모전 통해 최종 캐릭터 확정
  • ECMAScript 2024 공개
  • toWellFormed 등 Unicode 처리 강화
  • Deno 팀의 JSR 레지스트리 출시
  • 모던 ECMAScript 모듈 전용 레지스트리
  • TypeScript, Deno, Bun, Cloudflare Workers와 호환
  • FreeJavaScript 운동 시작
  • Oracle의 JavaScript 상표 반환 촉구 캠페인
  • Brendan Eich 등 주요 인물 서명
  • Deno 2 출시
  • Node 호환성 개선, 광고까지 집행하며 런타임 전쟁 본격화

2025

  • TypeScript의 Go 포팅 발표
  • 10배 이상 빠른 성능을 목표로 tsgo 프로젝트 진행 중
  • TypeScript 7.0부터 공식 채택 예정
  • Copilot Chat 오픈소스화 선언
  • VSCode를 오픈소스 AI 개발 IDE로 전환하는 Microsoft의 전략 발표
← 이전 글tsconfig — TypeScript 컴파일러 설정 파일