.NETマルチプラットフォームアプリUI(.NET MAUI)Preview 4 がここにあり、これが多くの興味深いものをもたらす。Preview 4ではいくつか追加されている。それは、現在サポートされているすべてのプラットフォームで機能するアプリを構築するために使用できる。このバージョンでは、デスクトップでのBlazorの実行もサポートされている。そして、Visual Studio IDEでの.NET MAUIのサポートがさらに進んでいる。
Buildカンファレンスで.NET MAUIに関する新機能を紹介すると共に、Microsoftは.NET MAUIを全体で使って構築された見栄えの良い天気のサンプルのアプリも紹介した。アプリは最初Xamarin.Formsを使って構築されていたが、彼らが述べたところによると、Xamarin.Formsから.NET MAUIへの移植は「苦痛がなく、迅速」であった。
.NET MAUIに関するBuildセッションでは、アプリのアクション、システムトレイ (ステータスバー) のアイコン、プラットフォームネイティブの通知をすべて1つのプロジェクトから、クイックに簡単に統合する方法についての説明があった。
以下の例は、.NET MAUIの1プロジェクトにクロスプラットフォームAppActions
を追加する例を示している。
private void SetupAppActions()
{
try
{
AppActions.SetAsync(
new AppAction("current_info", "Check Current Weather", icon: "current_info"),
new AppAction("add_location", "Add a Location", icon: "add_location")
);
}
catch (System.Exception ex)
{
Debug.WriteLine("App Actions not supported", ex);
}
}
Blazor Webアプリケーションは、BlazorWebView
を使って.NET MAUIアプリケーション内で「ホスト」できる。BlazorWebView
のコントロールは、任意のXAMLページで使用でき、Blazorアプリのルートを指すことができる。
<BlazorWebView
HostPage="wwwroot/index.html"
Services="{StaticResource Services}">
<BlazorWebView.RootComponent>
<RootComponent
Selector="#app"
ComponentType="{x:Type local:Main}"
/>
</BlazorWebView.RootComponent>
</BlazorWebView>
MauiSplashScreen
は、開発者が「スプラッシュ」画面とも呼ばれる静的画面を実装できるようにする新機能である。MauiSplashScreenは静的であり、スプラッシュスクリーンをサポートするすべてのプラットフォームの単一コードプロジェクト内に配置できる。
MauiSplashScreenでは2つのプロパティを導入している。1つは使用されるリソース画像用、もう1つは背景用のColorプロパティである。より高度なシナリオでは、プラットフォームネイティブのスプラッシュスクリーンの実装を引き続き使用できる。
<MauiSplashScreen Include="Resources\appiconfg.svg" Color="#512BD4" />
Preview 4では、プラットフォームネイティブのパフォーマンスを維持しながら、プロジェクト内の未加工のアセットを参照することに対するサポートも導入された。ファイルはプロジェクトに追加でき、プロパティ内のMauiAssetアノテーションを使ってそれらのファイルを含めることができる。フォルダーにあるすべてのファイルを含めるには、ワイルドカードアプローチを使用できる。
Visual Studioは .NET MAUIアプリの開発のための主要なツールの1つであるため、新しい生産性向上のための機能もすべて、.NET MAUI開発をサポートするようにさらに調整された。そのうちの1つはSingle Project Run
である。これは、....NET MAUIアプリケーションの実行時にターゲットプラットフォームとデバイスを選択する新しいエクスペリエンスが取り入れている。これらの変更により、起動プロセスがシンプルになり、単一の場所ですべてのプラットフォームとデバイスにアクセスできるようになる
。
ソリューション内にはプラットフォーム固有のプロジェクトがないため、「右クリック - スタートアッププロジェクトの設定」のデプロイでプロジェクトを選択する方法はない。新しいターゲットデバッグセレクターを使う最初のステップは、プロジェクトが対象とするプラットフォームを選択することである。Visual Studioは.NET MAUIアプリの実行に使用できるデバイスの選択肢を提供する。新しいバージョンと次のアップグレードでは、Single Projectアプリケーションを構築するためのサポートがさらに強化される。
Single Project Runと並んで、新しいツールは.NETホットリロードである。ホットリロードのサポートにより、アプリケーションの実行中にソースコードを変更できるようになった。そのときに、手動で一時停止したり、ブレークポイントにヒットしたりする必要はない。サポートされている変更については、アプリの実行中に「コード変更の適用」ボタンを使って編集を適用することで行うことができる。
.NETホットリロードの次のリリースでは、Android、iOS、macOSもサポートされる予定である。XAMLホットリロードとライブビジュアルツリーを統合する計画もある。他に.NET MAUI Preview 4の機能の詳細については、公式のMicrosoft .NETブログをご覧ください。