[include(틀:토막글)] [목차] == 개요 == [[https://bun.sh|웹사이트]] [[Zig]]언어로 제작된 [[JavaScript]] 서버사이드 런타임. 빠른 성능을 첫 번째 목표로 하며 그를 입증하듯 벤치마크 결과 [[Node.js]]에 비해 3배 가까이 빠른 성능을 보여주었다. 라이선스는 [[MIT 라이선스]]. == 상세 == 성능뿐만 아니라 기존의 node가 하지 못했던 all-in-one 컴셉을 내세우고 있다. 번들링, 트랜스파일링, 패키지 관리 등등을 모두 bun에서 처리할 수 있도록 한다고는 하나, 아직은 개발 중이라는 단점이 있다. node와 [[Deno]]가 [[V8]]엔진을 기반으로 사용하듯이 bun.js는 [[WebKit]]의 [[https://github.com/WebKit/WebKit/tree/main/Source/JavaScriptCore|JavaScriptCore]] 엔진을 사용한다. 또한 node와의 완벽한 호환성을 보장(drop-in replacement)한다는 점이 deno와의 가장 큰 차이점이다. 따라서 별도의 마이그레이션이 필요 없이 node를 bun run으로만 대체하기만 해도 속도가 빨라진다는 주장. 다만 실제로는 아직 미구현된 node API가 많아서 현재까지는 모든 툴이 돌아가는 것은 아니다. 모듈의 경우 {{{node_modules}}} 방식을 그대로 사용하기 때문에 기존 [[자바스크립트]]/[[타입스크립트]] 코드베이스를 그대로 활용할 수 있다는 점이 deno와의 또다른 차이점이다. 또한 TS뿐만 아니라 [[JSX]] 트랜스파일링 역시 내장으로 지원한다. 또 다른 특징으로는 {{{.env}}} 파일을 자동으로 로드해준다는 점이 있다. == 설치 == {{{#!syntax sh curl https://bun.sh/install | bash}}} 현재까지는 nvm, fnm등의 버전 매니저가 존재하지 않는다. == 관련 문서 == * [[Zig]] * [[Node.js]] * [[Deno]] * [[WebKit]] [[분류:시스템 소프트웨어]]