.NET 7ではWebAssembly製.NETランタイムを単独で利用可能にし、WebブラウザやNode.jsなどでJavaScriptから.NETを簡単に呼び出せるように
今回は「.NET 7ではWebAssembly製.NETランタイムを単独で利用可能にし、WebブラウザやNode.jsなどでJavaScriptから.NETを簡単に呼び出せるように」についてご紹介します。
関連ワード (互換性維持、連携、連携活用等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
マイクロソフトは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
____________________https://t.co/9OXE4P2WfR
// @pavelsavara#dotnet #javascript #dotnetdevelopers pic.twitter.com/GcKr8WUl68— .NET Developers (@dotnet_ge) September 27, 2022
.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関連記事
- マイクロソフト、「.NET 7」にDockerコンテナイメージ生成機能を搭載、Dockerファイル不要に
- マイクロソフト、次の.NET 7にネイティブコンパイラを搭載する見通しを明らかに
- マイクロソフト「.NET 7 Preview 1」公開。MSBuildによるコンテナビルドなどクラウドネイティブ対応強化