スマートに!Microsoft Blazor がモバイル対応。C Web テクノロジーでモバイルアプリを開発してみませんか?

Table of Contents

スマートに!Microsoft Blazor がモバイル対応。C# Web テクノロジーでモバイルアプリを開発してみませんか?

Microsoft は、Blazor Web 開発プラットフォームを使用して、ネイティブ モバイル アプリケーションに対する実験的なサポートを提供します。

レドモンド氏はBlazorを「JavaScriptではなくC#を使ってインタラクティブなWeb UIを構築できる」フレームワークだと説明しています。Blazorは2017年、.NETランタイムをWebAssemblyにコンパイルすることでブラウザでホストするという実験として始まりました。その名前はRazorに由来しています。RazorはASP.NETでHTMLとC#コードを組み合わせ、動的なWebページを作成するために使用される構文です。Blazorは、C#コードをサーバーではなくブラウザで実行できるようにしました。

このコンセプトは大きく進化しました。2018年、MicrosoftはBlazorをオープンソースのWebアプリケーションプラットフォームであるASP.NET Coreに正式に組み込みました。BlazorはBlazor Serverも含むように拡張され、.NETコードはサーバー上で実行され、SignalRリアルタイムメッセージングを介してブラウザのUIと通信します。開発者にとっての成果は同じで、JavaScriptではなくC#で開発されたユーザーインターフェースとなります。

昨日開催されたBlazorに焦点を絞ったオンライン.NET Confにおいて、Microsoftは同フレームワークの今後の計画について詳細を明らかにしました。Blazor Hybridは、Electron内でRazorコンポーネントをホストし、デスクトップアプリケーションを作成するための実験です。また、WebWindowを用いてデスクトップBlazorまたは.NET Coreアプリケーションを作成するプロジェクトも存在します。WebWindowでは、OSネイティブのコンポーネント(WindowsではChromium-Edge、MacではWebKit、LinuxではWebKitGTK+ 2)を使用することで、ブラウザコンポーネントをバンドルする必要がなくなります。これにより、アプリケーションサイズが大幅に縮小されます。

しかし、Blazorに関する最大のニュースは、おそらく実験的なMobile Blazorの発表でしょう。MicrosoftのプリンシパルソフトウェアエンジニアであるEilon Lipton氏は、Mobile Blazor Bindingsについて、「開発者は使い慣れたWebプログラミングパターンを用いて、C#と.NETでiOSとAndroid向けのネイティブモバイルアプリを構築できます」と説明しています。実際のUIコンポーネントはXamarin Formsに基づいていますが、UIの定義にXamarin風のXAMLではなく、Razor構文を使用しています。

Mobile Blazorのコードは現在公開されていますが、「実験的なプロジェクト」と説明されているため、一般公開される保証はありません。リプトン氏は、このプロジェクトの理由について、「Webプログラミングの経験を持つ開発者から、モバイルアプリケーションの構築にWeb固有のパターンが理想的だという意見を聞きました」と述べています。

リプトン氏は「Webプログラミングパターン」に言及していますが、これはWebブラウザコンポーネントを使用するApache Cordovaなどのテクノロジーとは異なることに注意してください。Blazor Mobile Bindingsは、ネイティブのiOSおよびAndroid UI要素を使用します。

現時点でBlazorのうち、本番環境で利用可能と言われているのはBlazor Serverのみです。Blazor WebAssemblyは2020年5月に完成予定ですが、インタープリター版.NETのみです。Ahead of Time(AOT)コンパイルは、2020年11月に予定されている.NET 5.0でサポートされる予定です。.NETリリースの全体的なスケジュールは、毎年11月にメジャーアップデートが予定されていますが、偶数リリースのみがLTS(長期サポート)に指定されます。前回のLTSリリースは2019年11月の.NET Core 3.1で、次のLTSリリースは2021年11月の.NET 6.0です。

Blazorはどこにでも: MicrosoftのC#ウェブプラットフォームに対する野心的な計画

Blazor はどこにでもある: Microsoft の C# Web プラットフォームに対する野心的な計画

しかし、Microsoft の Blazor 計画がすべて実現すれば、Web アプリケーションからデスクトップやモバイルまで、あらゆるものに Blazor バリアントが存在することになるでしょう。

9 時間の余裕があり、Blazor についてさらに詳しく知りたい場合は、カンファレンス全体をこちらからオンラインでご覧いただけます。モバイル関連の取り組みについては、約 5 時間後に説明されています。

Blazor は、.NET 開発者が活動範囲を広げる手段として、単体で見ると有望に見えます。しかし、Microsoft の問題は、豊富な開発テクノロジと、失敗を繰り返してきた歴史(Silverlight など)にあります。昨年 11 月の Ignite イベントでは、Windows チームと Office チームが、例えばクロスプラットフォーム開発における React Native について熱く語っていました。UWP はどうでしょうか?Xamarin Forms はどうでしょうか?開発者にとって、Microsoft の開発テクノロジの中でどれが長期的に見て最も有望なのかを判断するのは容易ではありません。しかし、少なくとも同社が C# 言語を様々なプラットフォームで選択肢として維持するために尽力してきたことは確かです。®

Discover More