9月5日に久しぶりにNode学園に参加しました。40時限目です。学校の授業は多くても6時限目くらいまででしょうから、多分居残りで2徹か3徹くらいしてるイメージです。もはやブラック学校を遥かに通り越して漆黒の学校ですね。なんか中二っぽくてかっこいい。
今回はBunがメインテーマです。全然知りませんでした。いや、正確には以前になにかの記事でチラッと見た記憶があるんですが、完全にスルーしていました。
というわけでBunについて簡単にまとめてみます。
Bunについて
読み方は「ばん」です。「ぶん」ではありません。名前はBundleから来てるとか。
アイコンは玉ねぎ・・・じゃなくて肉まんらしいです。
で、要するに何よ?
JavaScript(とTypeScript)のランタイム、簡単に言うとNode.jsとかDenoの仲間です。
そしてさらにバンドラー・トランスパイラー・タスクランナー・NPMクライアント等も内蔵されているそうです。
えー、つまりどういうことかというと、以前ビルドツール全体に喧嘩を売ったRomeというツールが登場しましたが、Bunはそれに加えてNode.jsとDenoにも喧嘩を売ったようなものと考えてください。
ランタイムとしての特徴
Node.jsやDenoと違って、BunはJavaScriptエンジンにJavaScriptCoreを使っています。つまりNode.jsやDenoはChrome系、BunはSafari系です。
JavaScriptの言語仕様は標準化されているので、言語の互換性は最新仕様を使いたい場合を除いて、問題になることはほとんどないと思います。
Bunの公式発表によると、Node.jsよりも速いとのこと。ただ、比較方法までは把握していないのでそのまま鵜呑みにできるのかはわかりません。とりあえずスロースターターなNode.jsに対して、Bunはスタートダッシュから速いらしいです。
そしてNPMのモジュールも使えるみたいですが、こちらはまだ開発途上らしく動かない場合もあるとのこと。
Node.jsから乗り換えたほうがいい?
(´-ω-`)ウーン…
まだ時期が早いかな・・・
開発途上ということを差し引いても、出て間もないプロダクトに乗り換えるのはかなりのリスクを伴います。これまでも音楽性の違いでNode.jsから分離したプロダクトはいくつかありますが、世間を騒がせたものも元の鞘に収まったり、活動停止してしまったりとなんやかんやでNode.jsが強いんですよね。
とはいえ、処理系もそれが使っているエンジンも選択肢が増えるのはいいことなので、健全な競争のためにBunにもがんばってほしいと思っています。
0 件のコメント:
コメントを投稿