100秒で理解するBun

2024/04/22に公開

はじめに

この記事の内容は、以下の動画でも解説しているので、ぜひ見てみてください。他にもWebに関する解説動画を投稿しているので、良ければチャンネル登録よろしくお願いします!

https://youtu.be/-OHbpT8nHBY?si=TDSmzSDOcW5dK6hw

Bunとは?

Bun とは、公式サイト によると、バンドル、テストランナー、Node.js 互換のパッケージマネージャーを備えた、スピードのために設計されたオールインワンの JavaScript ランタイム&ツールキット のことです。

Bun is an all-in-one JavaScript runtime & toolkit designed for speed, complete with a bundler, test runner, and Node.js-compatible package manager.

(日本語訳)Bunは、バンドル、テストランナー、Node.js互換のパッケージマネージャーを備えた、スピードのために設計されたオールインワンのJavaScriptランタイム&ツールキットです。

bun.sh

...と言っても、これだと難しくてよく分からないですよね。そこで、今回の記事では「Bunとは何なのか?」について、100 秒でざっくりと解説していきたいと思います。

Bunの特徴

Bun には、主に4つの特徴があります。一つずつ見ていきましょう。

特徴①

1つ目の特徴は、Bun が「JavaScript実行環境」であるということです。では、そもそも JavaScript実行環境とは何でしょうか?

JavaScript実行環境とは?

JavaScript実行環境とは、JavaScript を動かすために必要な環境のことです。

例えば、車を動かすためには、エンジンという部品が必要ですよね。それと同じで、JavaScript を動かすためにも、エンジンと呼ばれるソフトウェアが必要です。

このエンジンを始めをする、様々な機能を詰め込んだ環境のことを「JavaScript実行環境」と呼びます。

現在、この JavaScript実行環境には、いくつかの種類がありますが、ここに新しく加わったのが「Bun」という訳です。

特徴②

2つ目の特徴は、Bun には「便利な機能が沢山含まれている」ということです。代表的な機能としては、以下のようなものが挙げられます。

  • パッケージマネージャー
  • モジュールバンドラー
  • テストランナー

つまり、Bun をインストールするだけで、パッケージ管理も、バンドルも、そしてテストも実行できるという訳です!

特徴③

3つ目の特徴は、「とにかく速い!」ということです。

他の JavaScript実行環境(Node.js や Deno など)が Chrome に搭載されている「V8」というエンジンを使っているのに対して、Bun は Safari に搭載されている「JavaScriptCore」というエンジンを使っています。

この JavaScriptCore というのは、V8 よりも高速でメモリ効率が高い傾向があり、これが Bun が速い理由の 1つです。

特徴④

4つ目の特徴は、「TypeScriptのサポートが手厚い」ということです。

例えば、Node.js 上で TypeScript を使う場合、自分で typescriptts-node などのパッケージをインストールしたり、tsconfig.json を作成する必要があります。

しかし、Bunを使えば、特に何の設定もせずに最初から利用できます。これは嬉しいですね!

おわりに

皆さんも是非 Bun を使ってみてください!

「100秒で理解する」シリーズは、他にもいくつか記事を書いています。この記事が役に立ったと思った方は、他の記事もご覧ください!

Discussion