29
19

More than 1 year has passed since last update.

Bunについて

Last updated at Posted at 2022-08-09

はじめに

新しいJavaScriptランタイムが注目を集めているので、少し試してみました。
(肉まんかわいい)

スクリーンショット 2022-08-08 23.33.21.png

Bunとは

Bunは、2021年9月にリリースしたJavaScriptランタイムです。
2022/8/9時点で、Githubのスター数は、約30,000あり、フロント界隈では注目されているのではないでしょうか?
スクリーンショット 2022-08-09 9.39.52.png

Bunについて

公式サイトによると、Bun is a fast all-in-one JavaScript runtimeだそうです。
Bunだけで、transpiler,bundler,package managerができて、めちゃくちゃ早いらしい。

  • fetchWebSocket などの Web API が組み込まれた JavaScript ランタイム。 Bun には JavaScriptCore が組み込まれています。JavaScriptCore は、V8 などの一般的なエンジンよりも高速でメモリ効率が高い傾向があります
  • JavaScript/TypeScript/JSX transpiler
  • JavaScript & CSS bundler
  • package.jsonscriptsのTask runner
  • npm互換のpackage manager

Web API との互換性

  • TypeScript と JSX のサポートが組み込まれており、BunのJavaScript トランスパイラーによって強化されています。
  • ESM および CommonJS モジュールがサポートされています (内部的に、bun.js は ESM を使用します)。
  • 多くの npm パッケージは bun.js で動作します。
  • tsconfig.json の"paths"は、package.json の"exports"とともにネイティブにサポートされています
  • Nodeからのfspath、およびprocessは部分的に実装されています
  • fetchResponseURL などの Web API が組み込まれています
  • HTMLRewriterbun.js で HTML を簡単に変換できます
  • .env ファイルは自動的に process.env および Bun.env に読み込まれます

公式Twitterでもnodeよりも4倍早く起動すると紹介してあります。

使い方

Bunをインストールします。
これで、Bunを使用することができます。

curl https://bun.sh/install | bash
exec /bin/zsh

検証

Bunでcreate react appをしてみました。
どれだけ早いか試してみます!

$bun create react test ポッチ!!

bun.gif

ものの数秒で、アプリを起動することができました!!
爆速。

npx create-react-appとは比較にならないくらい早かったです。

Bunのパフォーマンスについて

Bunのパフォーマンスは、nodeとdenoに比べても恐ろしくパフォーマンスがいいです。

ReactでのSSR

スクリーンショット 2022-08-08 23.28.04.png

SQLiteでの読み込み

スクリーンショット 2022-08-08 23.28.10.png

FFi実行

スクリーンショット 2022-08-08 23.28.16.png

Bunは、node,denoに置き換わる可能性がありますね!

危惧すべきこと

Bun は Jarred Sumner さんが一人で開発しているプロダクトなので、今後開発が継続されるのか?は危惧すべきことだと思います。
また独自で開発を進めているので、サードパーティのライブラリで使えないものも多かったという声も聞いています。
今後、どのように開発が進むのか注目です。

公式サイト

参考

採用のお知らせ

株式会社Relicでは、フロントエンドエンジニアを積極的に採用中です。
またRelicでは、地方拠点がありますので、U・Iターンも大歓迎です!🙌
少しでもご興味がある方は、Relic採用サイトからエントリーください!

29
19
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
19