.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
グローバル学生特化型プラットフォーム「JPort」のSPeakが8000万円調達、就活のボーダーレス化目指す
HRテック
2021-05-21 20:37
AWSとCoursera、DeepLearning.AIが実践的なデータサイエンスの専門講座を開始
IT関連
2021-06-09 15:38
Googleマップ、描画ツールでの道路追加・修正が可能に(審査後公開)
アプリ・Web
2021-03-13 02:42
売上高の4割は法人–「Raspberry Pi」のサポート情報やパートナー制度を読む
IT関連
2021-07-18 02:23
メルカリが暗号資産・ブロックチェーン領域参入、新会社「メルコイン」は暗号資産交換業者として申請予定
フィンテック
2021-04-03 17:29
1Passwordの企業向け機能がMicrosoft EntraとGoogle Workspaceをサポート。万が一のID/パスワード漏洩に対策
Google
2024-08-21 23:15
Twitterの最新動向から見えてくる未来
ネットサービス
2021-02-14 10:55
AIを使ってオンライン上の有害なやりとりを検出するSpectrum Labsが約37億円調達
IT関連
2022-02-06 19:43
アフリカのシリコンバレーに?同地域のテック企業向けに憲章都市を構築するリン・アボジ氏の計画
IT関連
2022-03-03 15:50
生成AI企業Anthropic、有料の「Claude Pro」をリリース–「ChatGPT Plus」と同額
IT関連
2023-09-09 22:48
日立、災害状況をAIで把握する映像解析の基礎技術を開発
IT関連
2021-02-25 20:15
KDDIとAIQ、接客AIを活用したショッピング体験の実証実験を開始
IT関連
2024-03-31 13:15
NRIデジタル、資生堂のサービス構築を支援–店頭での接客をウェブで振り返り
IT関連
2022-05-12 15:40
「Scratch」でピンポンゲームを作成–Qiitaが都立両国高校付属中で授業
IT関連
2022-07-29 05:37