.NET MAUI for .NET 7 の新機能
.NET 7 は .NET 6 の後継であり、統一性、モダンさ、シンプルさ、速度に重点を置いています。 Xcode や Android SDK Tools などの基になる外部依存関係を操作するため、.NET マルチプラットフォーム アプリ UI (.NET MAUI) サポート ポリシーは、.NET および .NET Core サポート ポリシーとは異なります。 詳細については、「.NET NAUI のサポート ポリシー」をご覧ください。
この記事では、.NET MAUI for .NET 7 の新機能を一覧で説明し、各項目のより詳細な情報へのリンクを示します。
.NET 7 の新機能については、「.NET 7 の新機能」をご覧ください。
新しい機能
.NET MAUI for .NET 7 では、主要なフィードバックの問題に対処し、次の新機能が導入されています。
- Map コントロールは、マップを表示および注釈付けするためのクロスプラットフォーム ビューです。 Map コントロールは各プラットフォームのネイティブ マップ コントロールを使用し、Microsoft.Maui.Controls.Maps NuGet パッケージで提供されます。 詳細については、「マップ」をご覧ください。
- TwoPaneView コントロールは折りたたみ式デバイス用のコンテナー コントロールであり、サイドバイサイドまたは上から下のいずれかの使用可能なスペースにコンテンツのサイズ設定と配置を行う 2 つのビューを提供します。 このコントロールは、Microsoft.Maui.Controls.Foldable NuGet パッケージによって提供されます。
- PointerGestureRecognizer クラスはポインター ジェスチャ認識を実行し、マウス ポインターがビュー内に入り、終了し、移動するタイミングを検出します。 詳細については、「ポインター ジェスチャの認識」をご覧ください。 .NET MAUI は、ビューの上にマウス カーソルを置いたときにビューの外観を変更できる
PointerOver
表示状態も定義します。 詳細については、「表示状態」をご覧ください。 Window
クラスは追加のプロパティを定義し、ウィンドウをデスクトップ プラットフォーム上に配置およびサイズ設定できるようにします。 詳細については、「.NET MAUI Windows」をご覧ください。- ユーザーがビューにポインターを置くと、ビューのヒントを表示できます。 詳細については、「ヒントの表示」をご覧ください。
- Mac Catalyst と Windows では、コンテキスト メニューは Element の派生コントロールに追加できます。 詳細については、「コンテキスト メニューの表示」をご覧ください。
- メニュー バーには区切り記号を含めることができます。これは、メニュー内の項目を区切る水平線です。 詳細については、「メニュー バーの表示」をご覧ください。
- iOS ライフサイクル イベントが発生した場合に応答して、追加の .NET MAUI デリゲートが呼び出されます。 詳細については、「アプリのライフサイクル」をご覧ください。
- iOS および Mac Catalyst 上の WebView の基になるネイティブ コントロールは、
WKWebViewConfiguration
オブジェクトを使用して構成できます。 詳細については、「iOS および Mac Catalyst でネイティブ WebView を構成する」をご覧ください。 iOS/Mac での WebView 構成
さらに、MessagingCenter
は非推奨となり、CommunityToolkit.Mvvm NuGet パッケージの WeakReferenceMessenger
に置き換えられました。
パフォーマンス
パフォーマンスは、.NET 7 の .NET MAUI の主な焦点です。
- Android では、起動時のパフォーマンスが向上しました。
- iOS では、アプリケーションのサイズが縮小されました。
- ビューのレンダリング パスが最適化されました。
- CollectionView でのスクロール のスムーズさに影響を与える多くの問題が対処されています。
詳細については、「.NET MAUI の.NET 7 のパフォーマンスの向上」をご覧ください。
.NET 6 からのアップグレード
.NET 6 から .NET 7 にプロジェクトをアップグレードするには、 .csproj ファイルを開き、ターゲット フレームワーク モニカー (TFM) を 6 から 7 に変更します。 次の例は、.NET 6 プロジェクトの TFM を示しています。
<TargetFrameworks>net6.0-ios;net6.0-android;net6.0-maccatalyst;net6.0-tizen</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows')) and '$(MSBuildRuntimeType)' == 'Full'">$(TargetFrameworks);net6.0-windows10.0.19041</TargetFrameworks>
次の例は、.NET 7 プロジェクトの TFM を示しています。
<TargetFrameworks>net7.0-ios;net7.0-android;net7.0-maccatalyst;net7.0-tizen</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows')) and '$(MSBuildRuntimeType)' == 'Full'">$(TargetFrameworks);net7.0-windows10.0.19041</TargetFrameworks>
関連項目
.NET MAUI
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示