.NET 7ではWebAssembly製.NETランタイムを単独で利用可能にし、WebブラウザやNode.jsなどでJavaScriptから.NETを簡単に呼び出せるように
マイクロソフトはWebブラウザ上でC#などで書かれた.NETのWebアプリケーションを実行できる「Blazor WebAssembly」を2020年5月にリリースしています。
Blazor WebAssemblyは、WebAssembly製の.NETランタイムを用いることでWebブラウザ上で.NETアプリケーションの実行を可能にしています。
参考:[速報」Blazor WebAssemblyが正式リリース。C#/.NETでWebアプリケーションを開発可能に。Microsoft Build 2020
今年の11月に正式リリースが予定されている「.NET 7」では、このWebAssembly製.NETランタイムを単独で使えるようにし、WebブラウザやNode.jsなどのJavaScript/WebAssemblyランタイム上でJavaScriptから容易にC#などで書かれた.NETを呼び出して実行可能にする新機能が登場する見通しであることが、同社のブログ「Use .NET from any JavaScript app in .NET 7」で明らかにされました。
Use @dotnet from any javaScript app in .NET 7
— .NET Developers (@dotnet_ge) September 27, 2022
____________________https://t.co/9OXE4P2WfR
// @pavelsavara#dotnet #javascript #dotnetdevelopers pic.twitter.com/GcKr8WUl68
.NET 7でのWebAssemblyのサポートは、ブログで次のように説明されています。
The WebAssembly support in .NET 7 is the basis for Blazor WebAssembly apps but can be used independently of Blazor too. Existing JavaScript apps can use the expanded WebAssembly support in .NET 7 to reuse .NET libraries from JavaScript or to build completely novel .NET-based apps and frameworks.
.NET 7におけるWebAssemblyのサポートはBlazor WebAssemblyアプリの基盤となっていますが、Blazorとは独立して使用できるようにもなっています。既存のJavaScriptアプリは、.NET 7で拡張されたWebAssemblyのサポートを用いてJavaScriptから.NETライブラリを再利用したり、新規に.NETベースのアプリやフレームワークを構築したりすることが可能です。
JavaScriptと.NETのBlazor WebAssemblyの連携は.NET 6やそれ以前でも可能であるものの、MONOなどのドキュメント化されていない低レベルでの手法が利用されていたとマイクロソフトは指摘しています。
今後も互換性維持のためこれらの手法やAPIには対応するものの、.NET 7ではAPIやテンプレートなどが整備され、より簡単にJavaScriptと.NETが連携できるようになります。これにより新たな.NETとJavaScriptの連携活用が期待されるところです。
.NET 7関連記事
あわせて読みたい
オープンソースのプラネタリウムソフト「Stellarium」が20年を超える開発期間を経てバージョン1.0に到達
≪前の記事
「Amazon File Cache」正式リリース。キャッシュを通じてAmazon S3やNFSを単一のファイルビューで高速にアクセス可能