C#からWebAssembly/WASIバイナリ生成可能に、.NET 8 SDKで実験的実装

今回は「C#からWebAssembly/WASIバイナリ生成可能に、.NET 8 SDKで実験的実装」についてご紹介します。

関連ワード (主要、具体的、説明等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

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


マイクロソフトは、C#のコードからWASIに対応したWebAssemblyバイナリの生成を.NET 8 SDKで可能にする実験的実装「wasi-experimental」が追加されたと、ブログ「Extending WebAssembly to the Cloud with .NET」で明らかにしました。

WebAssembly System Interface provides a way for WebAssembly code to call and implement arbitrary APIs, safely and across languages.

… and now, you can create WASI apps with #dotNET using the wasi-experimental workload in .NET 8. Learn more. https://t.co/fbr5t7X1nS pic.twitter.com/HLeXnqKAf4

— .NET (@dotnet) December 12, 2023

WASI(WebAssembly System Interface)は、WebAssemblyバイナリをWebブラウザ上ではなくOS上のWebAssemblyランタイムで実行する際に、WebAssemblyからOSへのシステムコールを抽象化するための業界標準の仕様です。これにより、ファイスシステムの呼び出しなどOSの主要なシステムコールが抽象化されるため、WASIに対応したWebAssemblyバイナリはクロスプラットフォーム対応となります。

つまりwasi-experimentalによって、C#のコードからWindowsやmacOSやLinuxなどのさまざまOSおよびオンプレミスやクラウドなどの実行環境を問わない、さまざまな環境で実行可能なWebAssemblyバイナリが生成できることになります。

wasi-experimentalをインストール

具体的には.NET 8 SDKをインストールした後、wasi-experimentalをインストール。

サンプルとして用意されている「wasi-console」テンプレートを試してみる。単純に「Hello, WASI Console!」を出力するコード。

WebAssemblyランタイムのwasmtimeを用意しておき、dotnet runコマンドで追加情報を与えつつ実行。

このようにWebAssembly/WASIバイナリとしてアプリケーションが実行されています。

.NET 8ではWebAssembly/WASIに対応した実験的実装ですが、来年(2024年)登場予定の.NET 9では、コンポーネントモデルなどを実現する「WASI Preview 2」に対応する見通しだと説明されています。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
「Natureスマート電気」が基本料金0円で電気を使った分だけ支払う固定単価新プランの先行受付開始
EnviroTech
2021-03-19 14:33
セキュリティの観点から議論される、オープンソース開発者への適切な対価の必要性
IT関連
2022-01-29 11:52
マイクロソフトのQ4決算、予想上回る–「Azure」など好調
IT関連
2021-07-28 00:21
スマホゲームが1兆円市場に 「巣ごもり」取り込む、仕掛けも多彩
IT関連
2021-05-07 15:59
高まる製造業のセキュリティ意識、サプライチェーン攻撃を含めたリスク対応
IT関連
2023-12-15 18:39
プラスチック廃棄物を再資源化–アビームとリコーが循環型経済への移行促進プロジェクトを立ち上げ
IT関連
2023-12-07 12:08
トヨタ、Auroraとロボタクシー製造で提携 年末にはテスト開始へ
企業・業界動向
2021-02-11 15:48
成長領域がマイナスに–富士通のDX事業が直近四半期決算で減収だった理由とは
IT関連
2021-08-05 22:24
スナックボックスサービスのSnackMagicが16.4億円調達、人がいなくなった職場向けから広範なギフト市場へ進出
その他
2021-05-09 01:35
トライアルとNTT、SCM最適化で連携協定–デジタルツイン活用で流通業界の無駄削減
IT関連
2024-01-24 00:12
マイクロソフト、DPUを手がけるFungibleを買収–データセンターを強化へ
IT関連
2023-01-12 23:10
ワークマン、約10万品目の発注業務を自動化する新システムを導入
IT関連
2021-04-21 23:12
セガ、“ゲーム実況”ガイドライン公開 YouTube公式の収益化はOK
ネットトピック
2021-04-28 01:24
マイクロソフト、Webアプリのテスト自動化サービス「Microsoft Playwright Testing」プレビュー公開。クロスブラウザ/クロスプラットフォームのテストを並列実行
JavaScript
2023-10-18 20:06