【バン】

Bun(バン) とは?

💡 速さは正義!JSランタイム界のスピードスター
📌 このページのポイント
Bun → オールインワン構成 Bun Zig製 / JavaScriptCore ランタイム パッケージ マネージャー バンドラ テストランナー トランスパイラ npm/yarn の代わり webpack の代わり Jest の代わり tsc/babel の代わり
Bun のオールインワン構成
ひよこ ひよこ

Bun ってまたJavaScriptランタイムNode.jsDeno もあるのに多すぎない?

ペンギン先生 ペンギン先生

確かに多いけど、Bun は「とにかく速い」という一点で差別化してるんだ。npm install の速度がNode.jsの数十倍になったり、スクリプトの起動が数ミリ秒で終わったり、体感できるレベルで速いよ

ひよこ ひよこ

なんでそんなに速いの?

ペンギン先生 ペンギン先生

Bun は Zig というシステムプログラミング言語で書かれていて、メモリ管理を極限まで最適化してるんだ。さらにJavaScriptエンジンに Safari で使われている JavaScriptCore を採用していて、起動のオーバーヘッドが小さいのも理由の一つだよ

ひよこ ひよこ

オールインワンって具体的に何が入ってるの?

ペンギン先生 ペンギン先生

パッケージマネージャーnpm/yarn の代わり)、バンドラ(webpack/esbuild の代わり)、テストランナー(Jest の代わり)、そして TypeScriptトランスパイラも全部内蔵だよ。別々のツールをインストールしなくていいから環境構築がとてもラクなんだ

ひよこ ひよこ

Node.js のプロジェクトをそのまま動かせるの?

ペンギン先生 ペンギン先生

多くの場合はそのまま動くよ。package.json も node_modules もそのまま使えるし、ExpressNext.js といった主要フレームワークにも対応が進んでるんだ。ただしネイティブアドオンなど一部非互換の部分はまだあるから注意が必要だね

ひよこ ひよこ

将来的に Node.js を置き換えるのかな?

ペンギン先生 ペンギン先生

Node.jsエコシステムは巨大だから完全に置き換わることはすぐにはないと思うよ。でも新規プロジェクトや CI の高速化で Bun を採用するケースは確実に増えてるし、ランタイムの競争が全体のパフォーマンス向上につながってるのは素晴らしいことだね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Bun」って出てきたら「爆速でオールインワンなJSランタイム」と思えればだいたいOK!
📖 おまけ:英語の意味
「Bun」 = パン(食べ物のバンズ)
💬 パンのバンズが由来で、ロゴもかわいい丸パンの形をしてるよ。速くておいしい(使い心地がいい)ツールを目指してるんだ
← 用語集にもどる