기술 트렌드
2023년 9월 Bun 1.0, 2024년 10월 Deno 2.0이 정식 출시됐습니다. JavaScript 런타임 시장의 판도가 바뀌고 있습니다.
Node.js는 2009년 Ryan Dahl이 오픈소스로 공개한 이후 15년 이상 서버사이드 JavaScript 런타임의 사실상 표준으로 자리잡았습니다. npm 생태계, Express·Fastify 같은 프레임워크, Next.js·NestJS 같은 풀스택 플랫폼이 모두 Node.js 위에서 성장했습니다. 그런데 2023~2024년 두 개의 강력한 도전자가 정식 버전을 출시하며 시장 구도가 흔들리고 있습니다.
Bun은 2023년 9월 8일 1.0 버전을 정식 출시했습니다. Zig 언어로 작성된 Bun은 JavaScriptCore(Safari에 사용되는 WebKit 엔진) 기반으로 구동됩니다. 패키지 매니저·번들러·테스트 러너·트랜스파일러를 하나의 실행 파일에 통합한 올인원 구조가 특징입니다. npm 패키지 설치 속도와 HTTP 처리량에서 Node.js 대비 빠른 결과를 내세우며 주목받았습니다. Node.js 및 npm과의 호환성을 1.0 설계 목표로 삼아, 기존 Node.js 프로젝트를 큰 수정 없이 Bun으로 전환할 수 있다는 점도 채택 장벽을 낮췄습니다.
Deno는 Ryan Dahl이 2018년 Node.js의 설계 결함을 직접 인정하며 처음 소개한 런타임입니다. 당시 Dahl은 JSConf EU 발표에서 콜백 대신 async/await을 쓰지 않은 것, npm이 Node.js에 필수가 된 것, package.json의 복잡성 등을 후회한다고 언급했습니다. Deno 1.0은 2020년 5월 출시됐고, 2024년 10월에는 Deno 2.0이 공개됐습니다. TypeScript를 별도 설치 없이 기본 지원하며, Node.js 및 npm 패키지 호환성을 대폭 강화한 것이 2.0의 핵심 변화입니다.
Node.js 진영도 가만히 있지 않았습니다. Node.js 22(2024년 4월)에서는 실험적 TypeScript 실행 지원, 내장 테스트 러너 개선, npm 패키지 설치 속도 향상 등이 포함됐습니다. 오랜 기간 쌓인 npm 생태계와 Next.js·NestJS 같은 대형 프레임워크의 지원이 Node.js의 가장 강력한 방어선입니다.
세 런타임의 공존이 오히려 JavaScript 생태계를 풍요롭게 만든다는 시각도 있습니다. 신규 프로젝트라면 Bun의 속도와 간편한 설정, Deno의 보안 모델과 TypeScript 지원을 비교해보고 팀의 우선순위에 맞게 선택하는 것이 현실적입니다.