.NETでWebAssemblyの最新仕様「WASI Preview 2」対応コンポーネントを作れる「componentize-dotnet」、Bytecode Allianceがオープンソースでリリース

今回は「.NETでWebAssemblyの最新仕様「WASI Preview 2」対応コンポーネントを作れる「componentize-dotnet」、Bytecode Allianceがオープンソースでリリース」についてご紹介します。

関連ワード (一方、構築、開発環境等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


WebAssemblyの普及と発展を目的とするByteCode Allianceは、WebAssemblyのコンポーネントモデルである「WASI Preview 2」仕様に対応したコンポーネントを、C#などの.NETテクノロジーを使って開発できるツール「componentize-dotnet」をオープンソースとしてリリースしました。

「componentize-dotnet」をBytecode Allianceがオープンソースでリリース

WASI Preview 2はWebAssemblyのコンポーネントモデル

WebAssemblyはもともと、Webブラウザ上で高速に実行可能なバイナリフォーマットとして登場しました。さまざまなプログラミング言語から生成可能なバイナリであり、OSやCPUに依存せずさまざまなコンピュータで高速に実行できる点を特徴としています。

現在ではWebブラウザから独立したスタンドアロンのWebAssemblyランタイムが登場したことで、サーバサイドでの利用も広がっています。

このWebAssemblyにコンポーネントモデルを持ち込むための仕様が「WebAssembly System Interface Preview 0.2」(省略して「WASI P2」と記述されることもあります)です。

つまりWebAssemblyで作られたソフトウェアを部品として組み合わせていくことで、1つの大きなアプリケーションを構築していくことができるようになるというものです。

一般に、現代のソフトウェアコンポーネントはソースコードのレベルで実装されています。JavaScriptで作られたUIコンポーネントや、Javaで作られたサーバコンポーネントなどはその典型でしょう。

この場合、プログラミング言語を超えてソフトウェアコンポーネントを利用することはできません。例えば、Dartで書かれたFlutterのコードの中でJavaScriptのUIコンポーネントを使うことも、PHPのコードに書かれたコンポーネントを組み合わせることも、一般論としてできません。

しかしWASI P2ではWebAssemblyのバイナリフォーマットとしてコンポーネントモデルが定義されているため、異なるプログラミング言語で作られたコンポーネントであっても自由に組み合わせられる、ソフトウェアコンポーネントの再利用が大きく発展する可能性を備えた画期的なコンポーネントモデルとされています。

参考:WebAssemblyを進化させる「WASI Preview 2」が安定版に到達。OSや言語に依存しないコンポーネントモデルを実現

WASI P2コンポーネント開発環境

WASI P2は今年(2024年)1月に安定版になり、WasmTimeを始めとするWebAssemblyランタイムでの実装も進む一方で、対応するコンポーネントを生成するためのツールの整備が課題でした。

そこで登場したのが今回の「componentize-dotnet」です。

このツールはWASI P2に対応したコンポーネントを生成するための以下のツールが1つにパッケージングされています。

  • NativeAOT-LLVM (compilation)
  • wit-bindgen (WIT imports and exports)
  • wasm-tools (component conversion)
  • WASI SDK (SDK used by NativeAOT-LLVM)

これにより開発者はツールの種類やバージョンの選択などに悩むことなく、一連のワークフローとしてコンポーネント開発が可能になります。

現時点でコンパイラ(NativeAOT-LLMコンパイラ)はWindows環境のみ対応となっていますが、LinuxやMacにも対応する予定とされています。

WASI P2対応コンポーネントの開発環境は展開が始まったばかりです。今後さまざまなプログラミング言語や開発環境において充実されていくことが期待されます。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
微生物発酵技術で作られた代替肉をNature’s Fyndが米国で販売開始
IT関連
2021-02-17 19:46
ソニーがDiscordに出資と提携、PlayStationにチャットアプリ搭載へ
ゲーム / eSports
2021-05-05 10:39
転売もOK、電子チケットの「NFT」を販売するサービス登場 ライブの視聴権などをブロックチェーンで証明
企業・業界動向
2021-03-26 01:55
ボストン・ダイナミクスの倉庫ロボットがDHLから約17.2億円の業務を受注
IT関連
2022-01-28 22:59
進研ゼミ、小学生に「鬼滅の刃」漢字・計算ドリル無償提供 想定以上の応募で12万人→30万人に拡大
くらテク
2021-02-03 21:37
対話AI「ChatGPT」で生成した回答、「Stack Overflow」で一時禁止に
IT関連
2022-12-07 05:32
ジュピターテレコム、社名変更で「JCOM」に ブランド名と統一
企業・業界動向
2021-06-10 07:40
味の素、ゼロトラスト型ネットワークセキュリティを構築
IT関連
2024-02-03 06:42
富士通が注力する「Uvance」はSAPとの協業拡大で勢いづくか
IT関連
2023-09-23 08:46
「elementary OS 7」の堅実な進化–シンプルな操作性とパフォーマンスの向上
IT関連
2023-02-09 17:54
「Boxはコンテンツクラウド」–Boxが新ブランディングと新戦略を発表
IT関連
2021-05-31 07:43
The Linux Foundation、HPCを推進する新団体HPSFを設立へ
IT関連
2023-11-16 22:34
Deno DeployでNode.jsアプリが実行可能に、Node.jsビルトインモジュールのサポートで
Deno
2023-06-05 14:01
米ホワイトハウス「将来のソフトウェアはメモリ安全になるべき」と声明発表。ソフトウェアコミュニティに呼びかけ
.NET
2024-02-28 16:23