.NET MAUI を使って Windows アプリをビルドする

.NET マルチプラットフォーム アプリ UI (.NET MAUI) は、C# と "必要に応じて" XAML を使用して、ネイティブのモバイル アプリやデスクトップ アプリを作成するためのクロスプラットフォーム フレームワークです。 .NET MAUI を使用すると、Windows、Android、iOS、macOS、Samsung Tizen で実行できるアプリを 1 つの共有コードベースから開発できます。 .NET MAUI を使用して Windows アプリをビルドすると、ネイティブ プラットフォームとして WinUI 3 が使用されるため、Windows 10 バージョン 1809 以降と Windows 11 で実行されます。

Windows で .NET MAUI を使用する理由

.NET MAUI を使用して Windows 用アプリをビルドすると、次のようないくつかの利点があります。

  • Windows 上のネイティブ: .NET MAUI では、Windows がターゲットの場合に WinUI アプリが作成されます。 つまり、.NET MAUI アプリは、Windows App SDK アプリケーションと同じユーザー エクスペリエンスを Windows で提供します。
  • コード内のユーザー インターフェイス: .NET MAUI Community Toolkit には、C# コードでユーザー インターフェイスを構築するためのフルーエント ヘルパー メソッドのセットである C# マークアップが含まれています。 これにより、XAML と同様に、アプリの UI とビジネス ロジック間の懸念事項を切り分けることができます。 C# マークアップは、.NET MAUI でサポートされているすべてのプラットフォームで使用できます。
  • クロスプラットフォーム: Android、iOS、macOS、Samsung Tizen デバイスなど、サポートされているすべてのプラットフォームに Windows アプリを移植できます。
  • シンプルさ: .NET MAUI でサポートされているすべてのプラットフォームをターゲットにできる単一の共有プロジェクトで開発できます。
  • ホット リロード: .NET MAUI での .NET ホット リロードXAML ホット リロードのサポートによりデバッグの時間を節約します。 アプリの実行中に編集を行い、変更は自動的に適用されます。
  • ネイティブ API: .NET MAUI は、各プラットフォームのネイティブ機能のためにクロスプラットフォーム API を提供します。 .NET MAUI のクロスプラットフォーム API で使用できないネイティブ API については、プラットフォーム固有のコードを呼び出すことができます。

Windows 用の新しいアプリを構築する予定で、追加のプラットフォームをターゲットにする場合は、.NET MAUI の使用を検討してください。 アプリで Windows のみを対象としている場合は、Windows App SDK を引き続き使用した方が良い理由がいくつかあります。

  • 知識: .NET MAUI XAML と Windows App SDK XAML にはいくつかの違いがあります。 UWP と Windows App SDK で XAML に慣れている場合は、.NET MAUI のコントロールと XAML 構文について、多少の学習が必要になります。
  • ネイティブ コントロール: .NET MAUI は現在、Windows App SDK のコントロールの使用をサポートしていません。 再利用する予定がある、またはサードパーティ製またはオープンソースのコントロールに依存する、他の Windows App SDK プロジェクトの既存のコントロールがある場合は、.NET MAUI プロジェクト用の代替手段を見つける必要があります。
  • Windows により近い: .NET MAUI アプリを記述すると、Windows App SDK アプリが出力されますが、コードをネイティブ Windows アプリにするために多少の変換が必要です。 Windows App SDK では、その変換手順が排除され、スタイル、API の互換性、またはレイアウトに関する問題が発生する可能性が低くなります。

Windows 開発者向けの .NET MAUI リソース

.NET MAUI のドキュメント

.NET MAUI のドキュメントには、Windows を含むすべてのプラットフォーム向けの .NET MAUI 開発について学習するためのリソースが含まれています。

WinUI のドキュメント

Windows UI ライブラリの機能については、WinUI のドキュメントを参照してください。

.NET Conf: Focus on MAUI

2022 年 8 月のこの 1 日のライブ ストリームでは、Microsoft と .NET MAUI 開発者コミュニティの講演者が登場します。 アプリを構築する方法について学び、.NET MAUI を構築しているチームの話を聞くことができます。

.NET MAUI のブログ投稿

GitHub

.NET MAUI はオープン ソースであり、GitHub でホストされています。 .NET MAUI リポジトリを使用して、機能のリクエストやバグの提出、開発チームとの対話、Wiki の調査を行うことができます。

コード サンプル

.NET MAUI のコード サンプルを、サンプル ブラウザーまたは GitHub で探すことができます。

Windows で .NET MAUI の使用を開始する

Windows で .NET MAUI の使用を開始するには、Visual Studio 2022 バージョン 17.3 以降をインストールします。

Visual Studio をインストールまたは変更するときに、既定のオプションのインストール オプションを選択した状態で、.NET マルチプラットフォーム アプリ UI 開発ワークロードを選択します。 Visual Studio でのワークロードの管理について詳しくは、「Visual Studio ワークロード、コンポーネント、言語パックの変更」を参照してください。 Visual Studio Code と .NET CLI を使用している場合は、ワークロード管理に dotnet workload コマンド を使用します。

PC で開発モードを有効にしていない場合は、「デバイスを開発用に有効にする」を参照してください。 有効になっていない場合は、Windows で最初の .NET MAUI プロジェクトを実行しようとしたときに、Visual Studio によって開発モードを有効にするように求められます。

次の手順

Windows で初めての .NET MAUI アプリを作成する手順を確認してください。

.NET MAUI とは

.NET MAUI でサポートされているプラットフォーム

WinUI の概要

.NET MAUI Community Toolkit のドキュメント