
【初学者】Bunについて調べたら根本的に何もわかってなかった話
Q1:Bunってなんやねん
A1:なんかめっちゃ速い肉まん。

これだとエンジニアとして失格やと思うから頑張って調べてみた。
以下調査結果。たぶん初学者向け。
Bunは、JavaScriptとTypeScriptのための新しいランタイム環境。
Node.jsの代替品と言われることが多い。
ランタイムだけではなく、バンドル、トランスパイラ、パッケージマネージャーなどを含むオールインワン・ツールキット。
エンジンはJavaScriptCore。(Node.jsはV8)
言語はZig.(Node.jsはC、C++、JavaScript)
ん?専門用語が多すぎてよくわからん?
まぁ慌てなさんな。
Q2:ランタイムってなんやねん
A2:プログラムを実行するときに必要な物、あるいはその実行時のこと。
イメージするなら、OSみたいな感じ。iPhoneで天気アプリをタップしたら、iOSが天気アプリを起動するためのプログラムを実行してくれる。だから天気アプリが起動する。
Node.jsは、サーバーサイドでJavaScriptを実行するためのランタイム環境。
Bunも同じ。
Q3:バンドルってなんやねん
A3:複数のファイルやモジュール(部品)を1つのファイルに出力すること
Webページを読み込む時、JavaScriptのファイルがたくさんあったら何回もサーバーに取りに行かなあかんから、1つにまとめておく方がいい。それをしてくれるのがバンドラー。Webpack、Rollup、Parcel、esbuild、Viteとか色々ある。Bunもバンドラー。
Q4:トランスパイラってなんやねん
A4:通訳者みたいなもん
例えばReactでJSXを書いた場合、そのままじゃブラウザで動かんからJavaScriptに変換する必要がある。BabelというトランスパイラーがJSXをJavaScriptに変換してくれている。
Bunにもそういうトランスパイラの機能が入ってる。
Q5:パッケージマネージャーってなんやねん
A5:世界中の開発者が作った便利グッズを集めて管理する敏腕マネージャー
WEBの世界って基本的に世界中のいろんな人が作ったものをうまいことつなげながら作られてるんやけど、作った人は他のものといつでもうまくつながるように作ってるわけではない。だから、別々の人が作ったものをまとめて、いい感じにつなげる仲介人が必要になる。パッケージマネージャーはそんなイメージ。npm、yarn、pnpmに続いてBunもパッケージマネージャー。
Q6:結局Bunって何がすごいん?
A6:処理がめっちゃ速い。あと肉まんがかわいい。
終わりに
Bunは良いぞ。
株式会社PRUM佐渡では現在、仲間を大募集中!
PRUM佐渡での仕事は、自由な発想と、限界を決めない創造力から始まります。
やれることはまだまだあります。
さまざまなことに挑戦し、一緒に成長していきましょう!エントリーやお問い合わせは以下からお願いします。
採用ページはこちら
開発を検討されている企業様へ
貴社の課題を解決するためのシステムを受託開発します。どんなシステムを構築すればよいか分からない場合でも、プロジェクトマネージャーが丁寧にヒアリングを行い、要件を具体化します。以下よりお気軽にお問い合わせください!