マイクロソフト、「Blazor WebAssembly」正式版を5月にリリース。BlazorでPWAやデスクトップアプリも開発へ

2020年1月16日

マイクロソフトは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」と呼ばれています。

fig1

現在では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は、まだ実験段階の位置づけです。

fig2

「Blazor Server」もしくは「ASP.NET Core 3.0 Blazor」は、昨年2019年10月の.NET Core 3.0リリースと同時に正式版がリリースされました。

fig3

WebAssemblyによる.NETランタイムを1.5MBまで圧縮

そして次に正式版としてリリースされるのが「Blazor WebAssembly」です。5月に登場予定です。

fig4

「Blazor WebAssembly」は、まずWebブラウザにWebAssemblyで実装された.NETランタイムをダウンロードする必要があります(この.NETランタイム上で、通常の.NETアセンブリとしてロードされたBlazorアプリケーションが実行されます)。

マイクロソフトは現在プレビュー公開しているBlazor WebAssemblyでは、この.NETランタイムのサイズが約2MBで、これを正式版で約1.5MBにまで縮小すると説明しています。

これは新しい圧縮ライブラリであるBrotliを実装することで実現できる見通しです。

fig5

Blazor ServerとBlazor WebAssemblyに続く次のBlazorのリリース予定日はまだ明らかにされていませんが、BlazorとElectronやWebWindowsなどを用いたハイブリッドアプリケーションの実現は、.NETの次期バージョンである「.NET 5」における大きなテーマだとしています。

もともと.NETとWebAssemblyを組み合わせるという実験的かつ野心的なプロジェクトだったBlazorは、.NETにおける重要性が着実に増しているように見えます。


follow us in feedly




カテゴリ

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed


最新記事10本