공식 사이트
설명
Javascript / Typescript 에 대한 all In one ToolKit.
특징
- Node.js, Deno, webPack, vite, jest, karma, npm, yarn 을 일괄 대체 ( 런타임 / 패키지매니저 / 번들러 / 테스터 기능을 제공 )
- Node.Js와 같이 V8 엔진이 아닌 Apple JavascriptCore 사용
- zig 기반 작성
- 자바스크립트, 타입스크립트 ( with JSX )를 지원. (Typescript 유형 검사 실행시 기존에 비해 30% 빠름)
- nodemon 을 대체할 수 있는 watch mode 기본 제공
- sqlite 기본 내장 ( bun:sqlite )
- 각종 모듈 지원 ( ts, tsx, js, mjs, cjs 등 ), esm 방식과 cjs 방식에서 사용하는 import , require 둘다 사용 가능
- 기존 Node.js 패키지들 호환
- HTTP server / WebSocket server / 파일 읽기 쓰기 / 비밀번호 해시화 / 브라우저를 위한 번들러 / 테스트 작성 / 파일시스템 라우팅 / 스트림 읽기 / 자식 프로세스 생성 / C관련 함수 호출 ( C, Rust 등 호환)
- Node.js 를 즉시 대체하기 위해 내부 객체 함수를 지원 ( 진행률 https://bun.sh/docs/runtime/nodejs-apis )
디자인 목표
# 공식 사이트 내용 번역 본
Bun은 처음부터 오늘날의 JavaScript 생태계를 염두에 두고 설계되었습니다.
- 속도 . Bun 프로세스는 현재 Node.js보다 4배 빠르게 시작됩니다 (직접 시도해 보세요!)
- TypeScript 및 JSX 지원 . .jsx, .ts및 파일을 직접 실행할 수 있습니다 .tsx. Bun의 트랜스파일러는 실행 전에 이를 바닐라 JavaScript로 변환합니다.
- ESM 및 CommonJS 호환성 . 세계는 ES 모듈(ESM)을 향해 움직이고 있지만 npm의 수백만 패키지에는 여전히 CommonJS가 필요합니다. Bun은 ES 모듈을 권장하지만 CommonJS를 지원합니다.
- 웹 표준 API . fetchBun은 , WebSocket및 와 같은 표준 웹 API를 구현합니다 ReadableStream. Bun은 Apple에서 Safari용으로 개발한 JavaScriptCore 엔진으로 구동되므로 일부 API는 HeadersSafari 의 구현을URL 직접 사용합니다 .
- Node.js 호환성 . Bun은 노드 스타일 모듈 해상도를 지원하는 것 외에도 내장된 Node.js 전역 변수( process, Buffer) 및 모듈( path, fs, http등) 과의 완전한 호환성을 목표로 합니다 . 이는 완료되지 않은 지속적인 노력입니다. 현재 상태는 호환성 페이지를 참조하세요 .
Bun은 런타임 그 이상입니다. 장기적인 목표는 패키지 관리자, 트랜스파일러, 번들러, 스크립트 실행기, 테스트 실행기 등을 포함하여 JavaScript/TypeScript로 앱을 구축하기 위한 응집력 있는 인프라 툴킷이 되는 것입니다.
속도
설치
curl -fsSL https://bun.sh/install | bash
반응형
'뉴스' 카테고리의 다른 글
Next.JS 14.2 Release (0) | 2024.04.15 |
---|---|
애플 앱스토어, 고전 게임 에뮬레이터 허용 (0) | 2024.04.14 |
[Javascript] Bun 1.1 release (0) | 2024.04.08 |
Next.js 14.1 Release (1) | 2024.01.24 |