WebAssemblyのガベージコレクションが正式機能に、最新版のChrome 119で。Firefoxも今月リリースのFirefox 120で正式機能になる見通し
2023年2月にリリースされたChrome 111から試験的実装となっていたChromeにおけるWebAssemblyのガベージコレクション機能(以下、WasmGC)が、10月31日にリリースされたChrome 119で正式機能になったことが明らかになりました。
Firefoxでも今月(2023年11月)21日リリース予定のFirefox 120においてWasmGCが正式機能になる見通しです。
WasmGCを利用することで、ガベージコレクション機能が言語のランタイムに含まれているJavaなどプログラミング言語をWebAssemblyで実装することが容易になるため、今後WebAssembly上でさまざまなプログラミング言語の実装の登場が期待されます。
下記は「WebAssembly Garbage Collection (WasmGC) now enabled by default in Chrome」からの引用です。
In simplified terms, this means that with WasmGC, porting a programming language to Wasm means the programming language's garbage collector no longer needs to be part of the port, but instead the existing garbage collector can be used.
簡単に言えば、WasmGCを使うことで、プログラミング言語をWasmに移植する際にプログラミング言語のガベージコレクタを移植する必要がなくなり、代わりに既存の(訳注:Wasmが備える)ガベージコレクタを使えるようになるということです。
KotlinやDart/FlutterはすでにWasmGCサポートを表明
すでにJetBrainsはWasmGCを利用してKotlinで書かれたコードをWebAssemblyバイナリとするコンパイル機能を備えた「Kotlin/Wasm」をプレビュー公開しています。
参考:KotlinからWebAssemblyバイナリを生成するコンパイラ搭載、「Kotlin/Wasm」が試験的プレビュー公開。Kotlin 1.8.20ベータ版で
また、Googleが開発するDart言語とそのフレームワークであるFlutterも、WasmGCを利用してWebAssemblyをサポートすることを明らかにしています。
参考:Flutterが進化する方向とは? WebAssemblyサポート、コンポーネントとしてWebアプリに組み込み可能に。Flutter Forward 2023
Chrome 119でWasmGCが正式機能になると言うことは、当然のことならChromeと同じChromiumを基に開発されているMicrosoft EdgeでもWasmGCが正式機能になります。
WasmGCのサポートは、ChromeやMicrosoft Edge、FirefoxのようなWebブラウザだけでなく、ChromeのJavaScriptエンジンであるV8を用いているNode.jsやDenoでも、技術的にはそれほど遠くない将来にサポートが可能になるはずです。
サーバサイドでもWasmGCを用いたさまざまなプログラミング言語の実装を期待したいところです。
(追記 2023/12/12)FirefoxもWebAssemblyガベージコレクションが正式機能となりました。
参考:Firefox 120登場、WebAssemblyガベージコレクション(WasmGC)が正式機能に。Chromeでの正式機能に続き
あわせて読みたい
さよならVMware/高速なPython互換「Mojo」Mac版登場/Webアプリのテスト自動化サービス「Microsoft Playwright Testing」ほか、2023年10月の人気記事
≪前の記事
GitHub、Armベースのホステッドランナー提供を発表、マイクロソフトはArm対応アプリ開発の支援サービス発表。Arm対応支援が相次ぐ