WebAssemblyにスレッドやコンポーネントモデルなど導入へ、Bytecode Allianceがロードマップを公開
今回は「WebAssemblyにスレッドやコンポーネントモデルなど導入へ、Bytecode Allianceがロードマップを公開」についてご紹介します。
関連ワード (一番上、今後、横方向等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
WebAssemblyやWebAssembly System Interface(WASI)の普及と改善を推進するBytecode Allianceは、今後のWebAssembly関連技術のロードマップを明らかにしました。
ロードマップは「Core Wasm」(WebAssembly本体)、「Component Model」(WebAssemblyコンポーネントモデル)、「WASI」の3つに分かれています。
WebAssembly本体には現在実装が勧められているガベージコレクションに加えて今後スレッドの実装予定などが、コンポーネントモデルにはコンポーネントのネーミングとバージョニングなどの実装予定などが、WASIにはWASI CLIやWASI HTTPなどの実装予定などがそれぞれ示されています。
下記がそのロードマップの縮小版です(クリックすると縮小前のフル画像が表示されます)。
ロードマップは前述のように上から「Core Wasm」(WebAssembly本体)、「Component Model」(WebAssemblyコンポーネントモデル)、「WASI」の3つに分かれており、横方向に左から「Now」「Next」「Later」「Not This Year」となっています。つまりNextとLaterは今年中に予定されていることだということが読み取れます。
縮小版では文字が小さくて読めないので、その内容の一部をここで書き起こしてみます。
まず、一番上の「Core Wasm」を見てみましょう。
左のNowの列には「Core Wasm Threads Prototype」と「Wasm GC」が書かれています。現時点でこれらが実装されている、ということです。
「Core Wasm Threads Prototype」の矢印の先には「Later」の列に「Core Wasm Threads Shipping」とあります。つまり今年中にWebAssemblyにはスレッドが実装されるようです。
「Wasm GC」の矢印の先は少し下がって下の段にある「Component Model」の「Later」の列に入って「Wasm GC in Components」とあるので、今年中にコンポーネントモデルにもガベージコレクションが実装されるようです。
真ん中のグレーの行に示された「Component Model」を見てみましょう。
Nowの列には「Resource and Handle types」と「Component naming & Versioning」と書かれています。ここから右に伸びた矢印は合流してLaterの列で「Component Model Prevew 2」となっており、さらに右に伸びてNot This Yearの列で「Component Model Prevew 3」「Component Model 1.0」となっています。
一番下の行の「WASI」を見てみましょう。ここは情報量が多いので、主要な内容のみ見ていきます。
まずNowの列には、いちばん左に「WASI IO」「WASI Sockets」「WASI Clocks」「WASI Random」「WASI Filesystem」が並び、それらの矢印が集まって「WASI CLI」になっています。
これに「WASI HTTP」が合流して「WASI Preview 2 Draft」となります。
そこからNextの列に伸びる矢印は4つに分かれ、「JavaScript Host Implementation in JCO」「Wasmtime Host Implementation」「Docs」「Test Suites」と書かれています。
Laterではこれら4つの矢印が1つにまとまって「WASI Preview 2 Released」となり、Not This Yearで「WASI Preview 3 Released」「WASI 1.0」となっていきます。
このロードマップはW3CのWebAssembly Community GroupおよびWASI Subgroup within the W3Cでのアップデートを反映したものだと説明されています。
また詳しい内容については下記の動画で説明されています。