マイクロソフト、「Blazor WebAssembly」正式版を5月にリリース。BlazorでPWAやデスクトップアプリも開発へ
マイクロソフトは1月14日(日本時間1月15日未明)にオンラインインベント「.NET Conf Focus on Blazor」を開催、同社が開発中のWebアプリケーションフレームワーク「Blazor」の最新動向と今後について明らかにしました。
Blazorは、C#と.NET Coreを用いてWebアプリケーションの開発を可能にするフレームワークです。JavaScriptを用いず、C#によるプログラミングでSPA(Single Page Application)のWebアプリケーションを開発できるため、.NETの知識や経験をWebアプリケーションに活かせると同時に、Visual StudioなどC#に対応した豊富な開発ツールによる開発生産性の向上を期待できるといったメリットがあります。
さらにBlazorは「Razor Components」と呼ばれるUIコンポーネント群を用いることで、ユーザーインタフェイスを容易に記述できることも特長としています。
Blazorは5つのバリエーションに
Blazorはもともと、WebAssemblyで.NETランタイムを実装することにより、Webブラウザで上で通常の.NET対応のWebアプリケーションを実現するフレームワークとして登場しました。
いまではこのWebAssemblyを活用したBlazorは「Blazor WebAssembly」と呼ばれています。
現在ではBlazor WebAssembly以外に、ASP.NETを用いてサーバサイドで動作する「Blazor Server」、単独のアプリケーションとして動作するPWA(Progressive Web Applicationを開発するための「Blazor PWA」、ElectronやWebViewを用いてデスクトップアプリケーションを開発するための「Blazor Hybrid」、そしてネイティブアプリケーションを開発するための「Blazor Native」の5つのバリエーションが存在します。
ただしBlazor PWA、Blazor Hybrid、Blazor Nativeは、まだ実験段階の位置づけです。
「Blazor Server」もしくは「ASP.NET Core 3.0 Blazor」は、昨年2019年10月の.NET Core 3.0リリースと同時に正式版がリリースされました。
WebAssemblyによる.NETランタイムを1.5MBまで圧縮
そして次に正式版としてリリースされるのが「Blazor WebAssembly」です。5月に登場予定です。
「Blazor WebAssembly」は、まずWebブラウザにWebAssemblyで実装された.NETランタイムをダウンロードする必要があります(この.NETランタイム上で、通常の.NETアセンブリとしてロードされたBlazorアプリケーションが実行されます)。
マイクロソフトは現在プレビュー公開しているBlazor WebAssemblyでは、この.NETランタイムのサイズが約2MBで、これを正式版で約1.5MBにまで縮小すると説明しています。
これは新しい圧縮ライブラリであるBrotliを実装することで実現できる見通しです。
Blazor ServerとBlazor WebAssemblyに続く次のBlazorのリリース予定日はまだ明らかにされていませんが、BlazorとElectronやWebWindowsなどを用いたハイブリッドアプリケーションの実現は、.NETの次期バージョンである「.NET 5」における大きなテーマだとしています。
もともと.NETとWebAssemblyを組み合わせるという実験的かつ野心的なプロジェクトだったBlazorは、.NETにおける重要性が着実に増しているように見えます。
追記:2020年11月、.NET 5が正式にリリースされました。
あわせて読みたい
BlazorでiOS/Androidネイティブアプリケーションを開発可能にする「Mobile Blazor Bindings」、マイクロソフトが発表
≪前の記事
「GitHub for mobile」Android版がベータ公開、iOS版に続き