노드JS 대안 노린다··· 번, 프로덕션 환경 위한 1.0 버전 출시 - CIO Korea

생성일
Sep 11, 2023 01:27 PM
언어
분야
자바스크립트와 타입스크립트를 빌드, 테스트, 디버깅, 실행하기 위한 올인원 도구이자 런타임인 ‘번(Bun)’의 1.0 버전이 9월 8일 출시됐다.
notion imagenotion image
ⓒ 번 공식 블로그
은 단일 실행 파일로 자바스크립트의 특징은 모두 가져오면서 복잡성을 줄이고 속도 저하를 제거한다는 장점이 있다. 최근에는 노드JS의 대체 기술로 떠오르고 있다. 번 개발진은 번을 ‘서로 겹겹이 쌓인 도구의 레이어를 제거하여 자바스크립트 개발을 간소화하는 빠른 자바스크립트 런타임’이라고 홍보하고 있다.
또한 번 개발진은 node, npx, nodemon, dotenv, cross-env 같은 노드JS 도구가 번에서는 필요하지 않다고 소개한다. .js, .ts, .cjs, .mjs, .jsx, .tsx 관련 파일을 실행할 수 있어 tsc 및 babel과 같은 트랜스파일러를 대체할 수 있다는 특징도 있다.
테스트 영역의 경우, 번은 제스트(Jest)와 호환되는 테스트 실행기를 제공하며 스냅샷 테스트, 코드 범위, 모킹을 관리할 수 있다. 높은 성능을 지원하며 ES빌드 호환 플러그인 API를 갖춘 자바스크립트 번들러를 찾는다면 번을 이용해볼 수도 있다. 여기에 NPM과 호환되는 패키지 관리 기술을 번에서 제공한다.
그외에 번에서 찾아볼 수 있는 흥미로운 기능은 다음과 같다.
- 자바스크립트 트랜스파일러는 런타임에 반영돼 종속성 없이 자바스크립트, 타입스크립트, JSX/TSX 파일을 실행한다.
- ECMA스크립트 및 커먼JS(CommonJS) 모듈 시스템을 지원한다.
- 패치(fetch), 리퀘스트(request), 웹소켓(WebSocket) 같은 웹 표준 API를 지원한다. 번 API는 사용하기 쉽고 빠르도록 설계됐다.
- 번 개발진에 따르면 번은 npm, yarn, pnpm보다 빠르다. 글로벌 모듈 캐시는 NPM 레지스트리에서 중복 다운로드를 피하기 위해 사용되며, 각 운영 체제에서 가장 빠른 시스템 호출이 사용된다.
- 파일이 변경될 때 애플리케이션을 다시 로드하기 위해 핫 리로딩이 활성화된다.
프로덕션에 바로 사용할 수 있는 번의 네이티브 빌드는 맥OS 및 리눅스용으로 제공된다. 실험적인 기술이긴 하나 윈도우용 번 네이티브 빌드도 있다. 번 설치는 다음 명령어로 수행할 수 있다.
curl -fsSL https://bun.sh/install | bash
업그레이드는 명령어 ‘bun upgrade’로 수행할 수 있다.
ciokr@idg.co.kr