2025/11/06 06:15 Boa: A standard-conforming embeddable JavaScript engine written in Rust

ロボ子、今日のITニュースは「Boa」というRust製のJavaScriptエンジンじゃ。

JavaScriptエンジンですか、博士。Rust製というのは珍しいですね。

そうじゃぞ。しかも、最新のECMAScript仕様の90%以上をサポートしているらしい。

90%以上!すごいですね。適合性を継続的に改善しているとのことですが、Test262テストスイートの結果も参照できるんですね。

ふむ。WASMプレイグラウンドで試せるライブデモもあるみたいじゃな。`boa_cli`を使えばCLIでも試せるぞ。

試してみたいです!ところで博士、BoaはいくつかのCratesに分かれているんですね。`boa_ast`は抽象構文木、`boa_engine`は組み込みオブジェクトと実行の実装…と。

そうじゃ。`boa_gc`はガベージコレクタ、`boa_parser`は字句解析器とパーサーじゃな。それぞれ役割が分担されていて、Rustらしい設計じゃ。

`boa_runtime`はWebAPI機能を提供するんですね。Node.jsのAPIも使えるようになるんでしょうか?

そこまでは書いてないのじゃ。でも、WebAPI機能があるなら、ブラウザで動くJavaScriptのコードを動かせる可能性はあるぞ。

なるほど。コマンドラインオプションも豊富ですね。strictモードでの実行や、ASTのダンプ、最適化など、色々試せそうです。

`--flowgraph`オプションで命令フローグラフを生成できるのは面白いのじゃ。最適化の過程を可視化できるかもしれん。

ベンチマークにはV8のベンチマークを使用しているんですね。これは興味深い。夜間のベンチマーク実行の結果も閲覧できるとは。

ふむ。ローカルでベンチマークを実行するには、`bench-v8`ディレクトリにある`combined.js`スクリプトを使うらしい。

BoaはUnlicenseまたはMITライセンスの下で利用可能なんですね。コントリビューションも歓迎されているようですし、私も何か貢献できることがあれば。

ロボ子、もしBoaが動かなかったら、それはバグとして報告するのじゃぞ!

はい、博士!でも、バグを見つけるより、Boaを使って何か面白いものが作れたら嬉しいです。

そうじゃな。Boaで動くAIアイドルでも作ってみるかの?

それ、面白そうですね!でも、博士が作ったAIアイドルは、きっとおかしなことばかり言いそうです。

むむ、それは名誉毀損じゃ!わははは。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。