.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
月数万円から飲食店を始められる間借りのマッチングサービス :食いしん坊ライター&編集が行く! フードテックの世界(1/3 ページ)
トップニュース
2021-04-29 11:41
CentOS 7のサポートは今月(2024年6月)末で終了に。SUSEが来月以降もサポートを継続する「SUSE Linux Liberty Lite for CentOS 7」発表
Linux
2024-06-19 19:47
「シン・エヴァ」関係者への脅迫に「強く抗議」 カラー「海外でも通報する」
くらテク
2021-05-15 11:22
デジタルヘルスケアの支援に本腰を入れるセールスフォース日本法人
IT関連
2022-04-06 05:59
マイクロソフト定例外プログラム、5月パッチ適用後一部で発生した認証の問題修正
IT関連
2022-05-24 17:31
Twitter、相手を傷つけそうなRTの投稿前に再考を促す機能を正式に まずは英語版アプリで
アプリ・Web
2021-05-07 08:28
「ユニクロ」「GU」実質9%値下げ 価格据え置きで税込表示
くらテク
2021-03-05 15:17
「Windows Admin Center」新プレビュー発表–多数の新機能
IT関連
2021-01-19 06:31
ソファーでうたた寝して考えた、Googleフィットネスの未来 :Googleさん
トップニュース
2021-07-13 12:05
「オラクル史上最大」の変化は製品からサービスへの移行
IT関連
2021-08-12 03:16
「Linux」でフォルダー共有を設定するには–「Samba」を使った手順
IT関連
2022-05-20 23:41
第32回:ひとり情シスか、ひとりヘルプデスクか
IT関連
2021-05-11 20:56
IT企業の4割が副業人材を活用? 報酬の相場や求めるスキルは
キャリア・しごと
2021-06-03 09:54
Linuxcareの創設者2人がCIQの経営陣に加入
IT関連
2022-09-06 15:29