この FAQ では、プロジェクトに適したフレームワークの選択に関するガイダンスなど、Windows アプリケーション開発に関する一般的な質問に対する回答を提供します。 取り上げるトピックは次のとおりです。
- 作業の開始と Windows アプリの開発状況。
- WinUI、Windows Presentation Foundation (WPF)、および Windows フォーム (WinForms) を使用したネイティブ Windows 専用アプリ開発。
- Windows ソフトウェア開発キット (SDK) と Windows App SDK。
- クロスプラットフォーム開発戦略の一部として Windows をターゲットにします。
- .NET MAUI、Blazor、および ASP.NET Core を使用したハイブリッドおよび Web アプリ開発。
- Microsoft の投資を理解しながらアプローチを選択する方法。
Windows アプリの開発状況
Windows 開発テクノロジの簡単な概要はどこで確認できますか?
Windows 開発者向けの今日のオプションを詳しく確認するには、Windows Dev Chat の最新
エピソードをご覧ください。 WinUI、.NET MAUI、React Native、Blazor、Progressive Web Apps (PWA) について説明する理想的な開発プラットフォーム の選択に関するページをご覧ください。Windows 開発者向けに アプリ開発オプションの
の概要を参照することもできます。
クラウド サービス時代の最新のデジタル変革のためにクライアント アプリ開発が依然として重要なのはなぜですか?
クラウド サービスの時代には、クライアント アプリの開発は、最新のデジタル変革の重要な要素であり続けます。 開発者にとって、クライアント アプリケーションの構築は、リーチだけでなく、ユーザー デバイスで応答性の高い意味のある対話を実現するために不可欠です。
クライアント アプリが重要な理由は次のとおりです。
- Device Reach: 15 億を超える Windows デバイスと 50 億を超える Android デバイスと iOS デバイスをグローバルに使用して、クライアント アプリを使用すると、選択したデバイス上のユーザーにアプリケーションを直接取り込むことができます。
- Gateway to Intelligent Services: クライアント アプリは、多くの場合、ユーザーがサービスと最初にやり取りします。 インテリジェントな機能を紹介し、製品を他のユーザーと区別できる、豊富でインタラクティブなインターフェイスを提供します。
- クラウド統合によるスケーラビリティ: 優れた統合されたクライアント アプリをバックエンド クラウド サービスと簡単に同期できるため、ユーザー ベースの拡大に合わせてリアルタイムのデータ アクセスとシームレスなスケーラビリティを実現できます。
- 生産性とユーザー ロイヤルティの向上: 慎重に設計されたアプリは、生産性を向上させ、ユーザーが時間の経過と共に製品やサービスに関与し続けることができます。
ネイティブ Windows 専用アプリ開発
Windows App SDK とは
Windows App SDK は、美しくモダンで、下位互換性のある (Windows 10 1809 まで) デスクトップ アプリを作成できる Windows アプリケーション開発プラットフォームです。 WinUI は、Windows App SDK に付属する UI フレームワークです。
Windows アプリ SDK と Windows SDK の違いは何ですか?
どちらも、Windows アプリをビルドするためのソフトウェア開発キット (SDK) です。
Windows App SDK は、Windows のさまざまなバージョン (Windows 10 1809 まで) にインストールできるモダンなデスクトップ アプリをビルドできる、新しい開発プラットフォームです。 Windows App SDK を使用してビルドする場合は、最新の Windows 開発プラットフォーム機能を使用できます。 Windows App SDK には WinUI が含まれています。
Windows SDK は、UWP アプリや Win32/デスクトップアプリをビルドするための開発プラットフォームです。 設計の中心になっている Windows API は、特定のバージョンの OS と連動しています。
Windows App SDK は、Windows SDK に代わるものではありません。 代わりに、Windows アプリ SDK は Windows SDK を補完します。 Windows SDK を使用して既にアクセス可能な Windows OS API の豊富なカタログに関して、OS から分離された便利な抽象化を提供します。 Windows App SDK でビルドされたアプリでは、機能のニーズに応じて Windows SDK API が引き続き使用される場合があります。 時間の経過と同時に、Windows SDK の機能が Windows App SDK に移行します。
Windows 専用アプリを開発するための新しいチームを構築しています。WinUI、WPF、WinForms などのネイティブ Windows フレームワークを使用して開発する必要がある理由
Windows 専用アプリのネイティブ Windows フレームワークを選択する理由を次に示します。
- パフォーマンス: ネイティブ Windows フレームワークは、最新の Windows ハードウェアを活用するように最適化されており、高速で応答性の高いユーザー エクスペリエンスを提供します。
- 統合: Windows には、Windows でのみ利用できる高度なエクスペリエンスを実現するさまざまな API が付属しています。 ネイティブ フレームワークは、これらの機能と API との緊密な統合を提供します。
- ネイティブ ユーザー エクスペリエンス: ネイティブ フレームワークは、Windows デバイス間で一貫したエクスペリエンスを提供し、アプリがあらゆる場所で優れた外観と動作を保証します。
- オフライン サポート: ネイティブ フレームワークはオフライン シナリオをサポートし、インターネットに接続しなくてもアプリを機能させます。
- 収益: ネイティブ フレームワークは Microsoft によって積極的に保守およびサポートされており、最新の更新プログラムや機能に確実にアクセスできます。
Windows アプリ開発に対する Microsoft の最新の投資を活用するには、どのフレームワークを使用する必要がありますか?
新しい Windows 専用アプリをビルドする場合は、WinUI を使用することをお勧めします。 WinUI は、Windows アプリ開発用の最新のネイティブ UI フレームワークであり、さまざまな Windows デバイスで動作するように設計されています。 視覚的に魅力的で対話型の Windows アプリを作成するための、モダンで柔軟な UI フレームワークを提供します。 WinUI は Windows App SDK の一部であり、最新バージョンの Windows で最適に動作します。
既存の Windows アプリで Windows App SDK/WinUI を使用できますか?
WinUI (UI フレームワーク) は Windows App SDK (Windows プラットフォーム開発フレームワーク) に付属しています。
一般に、アプリが UI フレームワークを完全に移行する準備が整っていない限り、WinUI は使用できません。 XAML アイランドと呼ばれる機能は、他の UI フレームワーク (WPF、Win32) で WinUI コンテンツをホストするために開発中です。
Windows App SDK の要素は、多くの場合、既存のアプリの構築方法に応じて、デスクトップ アプリで使用できます。 UWP アプリは、Windows App SDK ではサポートされていません。
つまり、 WPF/MFC/WinForms アプリでは、WinUI とは無関係の Windows App SDK API を使用できます。 たとえば、アプリのライフサイクル、ウィンドウ化、トースト通知などです。
詳細については、「 既存のプロジェクトで Windows App SDK を使用する 」を参照してください。
Visual Studio を使用して WinUI アプリをビルドする必要がありますか?
WinUI 開発には、Visual Studio 2022 バージョン 17.10 以降の使用を強くお勧めします。 最新の Visual Studio バージョンでは、ホット リロードなどの豊富な開発機能が提供され、セットアップを簡略化する WinUI アプリケーション開発 ワークロードが含まれています。
他の IDE やワークフローも機能する場合がありますが、現在、 Visual Studio は WinUI 用に公式にサポートされている唯一の IDE です。 XAML または WinUI プロジェクトをコンパイルするには 、MSBuild が必要であることに注意してください。
WinUI、WinUI 2、WinUI 3 の違いは何ですか?
WinUI は、Windows アプリ開発用の最新のネイティブ UI フレームワークです。 視覚的に魅力的で対話型の Windows アプリを作成するための、モダンで柔軟な UI フレームワークを提供します。 WinUI は Windows App SDK の一部であり、最新バージョンの Windows で最適に動作します。
WinUI 2 は、UWP 上に構築された一連の UI コントロールとスタイルです。 UWP アプリの最新の外観を提供し、Windows 10 向けに設計されています。
WinUI 3 は、Windows App SDK の一部として初めて出荷されたときの WinUI の以前の名前でした。
要約すると、WinUI は WinUI フレームワークの最新かつ最も高度なバージョンであり、WinUI 2 は UWP 用のコントロール ライブラリであり、WinUI 3 は WinUI の以前のラベルでした。 WinUI 2 を特に参照しない限り、今後は "WinUI" を使用してください。
Windows App SDK と WinUI を使用してアプリをビルドする場合、"WinUI アプリ" をビルドしていますか?
はい — "WinUI アプリ" が推奨される用語です。 WinUI 2 はアプリの種類ではなく、UWP アプリで使用されるコンポーネントのセットであるため、WinUI アプリは "WinUI アプリ" と呼ばれます。
WinUI 2 コンポーネントを WinUI コンポーネントに徐々に置き換えることで、WinUI 2 コントロールを持つ UWP アプリを WinUI に段階的に更新できますか?
No. Windows アプリ SDK は UWP アプリでは使用できません。また、WinUI 2 を WinUI と混合することはできません。 「UWP から Windows アプリ SDK への移行」を参照してください。
UWP アプリを WinUI に移行するのはどのくらい難しいですか?
UI コンポーネントの移行は一般的に単純です (C# と C++/WinRT の場合)。 それ以外の場合、移行コストは主に次に依存します。
- プロジェクト ファイルと MSBuild のカスタマイズ: 移行作業は、高度な MSBuild の使用によって異なります。
- .NET API の移行: .NET を使用する UWP アプリは、.NET 6 以降に移行する必要があります。 多くの場合、.NET 6 の導入は簡単です。
- UI コンポーネント ライブラリ: ライブラリには、WinUI を対象とするバージョンが必要です。
- UWP アプリが置き換えられる C++/CX で記述されている場合は、ソース コードの移植が必要です。 「C++/CX から C++/WinRT への移行」をご覧ください。
詳細については、「 UWP から Windows App SDK への移行」を参照してください。
ストアに既存の UWP アプリがある場合、同じ識別子を使用して新しいパッケージ化された WinUI アプリを発行できますか?
はい。アップグレードされたアプリは、アプリケーション ID を更新せずに発行できます。 以前のバージョンのユーザーは、新しいバージョンに更新されます。 これはデスクトップ アプリにのみ適用されます。 Xbox、HoloLens、および Surface Hub アプリは WinUI に移行できません。
WinUI アプリをパッケージ化/配布するにはどうすればよいですか?
「展開の概要」をご覧ください。
Windows App SDK の移行ガイダンスはどこで入手できますか?
「UWP から Windows アプリ SDK への移行」を参照してください。
WinUI を使用する場合は、XAML マークアップを使用する必要がありますか?
No. UI コントロールは、コードで作成できます。 ただし、宣言型 XAML マークアップで UI を表すには、開発者エクスペリエンスの向上など、多くの利点があります。
- UWP から WinUI への移行: 多くの XAML および UI コンポーネントを再利用できますが、一部の構文調整が必要です。
- WPF から WinUI への移行: 多くの概念は引き継がされますが、コントロール セットと API は異なります。
Visual Studio には WinUI 用のデザイン サーフェイス/UI デザイナーがありますか?
まだありません。 これは、WinUI 開発者エクスペリエンスの既知のギャップです。 XAML Hot Reload のようなツールは、多くのシナリオで役に立ちます。 Windows App SDK 1.7 の WinUI 用 Visual Studio UI デザイナーで作業が開始されましたが、リリースのタイムラインはまだありません。
Windows App SDK には WinUI が含まれていますか?
Yes. WinUI は、Windows App SDK の一部として提供されます。
Windows App SDK には WinUI 2 が含まれていますか?
No. WinUI 2 は UWP プラットフォームの一部です。
WinUI 2 と WinUI は同じテクノロジに基づいて構築されていますか?
そうとも言えません。 WinUI はもともと WinUI 2 コードベースから始まりましたが、それらは異なるテクノロジです。 どちらも .NET と C++ で動作する XAML ベースの UI フレームワークですが、WinUI 2 と WinUI は相互に互換性がありません。
Windows App SDK を使用せずに WinUI を使用できますか?
No. WinUI は、Windows App SDK の一部として提供されます。
パッケージ化されていないアプリで WinUI を使用できますか?
Yes. Windows App SDK のすべてのテクノロジ (WinUI を含む) は、パッケージ化されていないアプリで動作します。
XAML Islands と WinUI の違いは何ですか?
XAML Islands を使用すると、WinForms や WPF などの他のフレームワークから、既存の Win32 UI と共に最新の XAML ベースのコントロールをホストできます。
現在、XAML Islands では 、ほとんどの システム XAML コントロールと WinUI 2 コントロールがサポートされています。 詳細については、 デスクトップ アプリ (XAML Islands) での WinRT XAML コントロールのホスト に関するページを参照してください。 Windows App SDK 1.4 以降では、WinUI コントロールのホストのサポートを利用できます。
WinUI アプリを作成すると、Windows 11 と Windows 10 の両方で最新の外観になりますか?
Yes. アプリの UI は、パッケージ化されたシナリオとパッケージ化されていないシナリオの両方で、サポートされているすべてのバージョンの Windows 11 および Windows 10 でバージョン 1809 までの最新の Fluent UI 設計原則を継承します。
Windows App SDK でビルドされたアプリでマイカまたはアクリルの背景を使用できますか?
Yes. 「Windows 11 のデスクトップ アプリでマイカ素材またはアクリル素材を適用する」を参照してください。
WinUI サンプルはどこにありますか?
「サンプルとリソース」を参照してください。 いくつかの注目すべきリポジトリ:
- WindowsAppSDK-サンプル: 特定の Windows App SDK API セットを使用する方法を示します。
- Windows トピック固有のサンプル: WinUI アプリの作成チュートリアルで使用される WinUI ノート サンプルが含まれています。
- WinUI ギャラリー: WinUI と Windows App SDK を紹介します。 Microsoft Store でも入手できます。
既に WPF に多額の投資を行っている場合は、引き続き WPF を使用するか、WinUI への移行を検討する必要がありますか?
既に WPF に多額の投資を行っている場合は、既存のアプリで引き続き使用できます。 WPF は、Windows デスクトップ アプリを構築するために広く使用されている成熟した安定したフレームワークです。
.NET アップグレード アシスタントを使用して、.NET Framework WPF アプリを最新の .NET プラットフォームに移行することを検討してください。 コードベースを分析し、更新に関するガイダンスを提供します。
新しい WPF アプリをビルドすると、他の新しい Windows アプリと比較して古臭く見えますか?
.NET 9 以降を使用して WPF アプリケーションを開発する場合、アプリが Windows 11 の洗練された最新の外観と一致することを確認できます。 WPF 用の新しい Fluent テーマでは、最新の Windows 11 の美学が導入され、ライト/ダーク モードとシステム アクセント カラーのサポートが統合されています。 これにより、アプリの外観が最新化され、洗練されたまとまりのあるユーザー エクスペリエンスが提供されます。
私のチームは WinForms アプリの構築に慣れているので、ニーズに合っています。WinUI または別のフレームワークへの移行を検討する必要がありますか?
WinForms がニーズを満たし、チームがそれに慣れている場合は、既存のアプリに WinForms を引き続き使用できます。 WinForms は、Windows デスクトップ開発に広く使用されている成熟した安定したフレームワークです。
WinForms チームは引き続きプラットフォームに投資します。 現在の投資分野には次のようなものがあります。
- 一般的なコントロールの非同期サポート
- ダーク モード
- レイアウトの柔軟性
- クリップボード アクセスなどのデスクトップ セキュリティ機能
クロスプラットフォーム ネイティブ開発
Windows を対象とするクロスプラットフォームのネイティブ アプリを構築する理由は何ですか?
複数の OS プラットフォームでユーザーを対象としている場合、.NET MAUI または React Native を使用してクロスプラットフォーム アプリを構築すると、次のような利点があります。
- 達する: クロスプラットフォーム アプリは、さまざまなデバイスやオペレーティング システムで、より多くのユーザーにリーチします。
- コードの再利用: プラットフォーム間でコードを再利用すると、開発時間とコストが削減されます。 Windows、Android、iOS、macOS 用に個別のアプリをビルドすると、非常にコストがかかる場合があります。
- 一貫したユーザー エクスペリエンス: クロスプラットフォーム フレームワークは、プラットフォーム間で一貫した外観を提供するのに役立ちます。
- 統合: クロスプラットフォーム アプリは、引き続きプラットフォーム固有のサービスと統合して、包括的なエクスペリエンスを提供できます。
Windows で .NET MAUI アプリが適切に動作することを確信できますか?
Windows 用の .NET MAUI アプリをビルドすると、出力は WinUI アプリになります。 開発中、.NET MAUI はプラットフォーム間で 1 つの .NET エクスペリエンスを提供しますが、内部でプラットフォーム固有のコードを生成します。 これにより、.NET MAUI アプリが各プラットフォームで適切に動作し、ネイティブ ユーザー エクスペリエンスが提供されます。
.NET MAUI では、すべてのプラットフォームでネイティブ デバイス API を提供するにはどうすればよいですか?
.NET MAUI は、Windows、iOS、Android、および macOS 全体で統合された .NET エクスペリエンスを提供します。 60 以上のプラットフォーム固有の API を 1 つのクロスプラットフォーム API セットに抽象化し、ストレージ、ネットワーク、デバイス センサーなどの領域をカバーします。 依存関係の挿入を使用して、プラットフォーム固有の追加 API にアクセスして、プラットフォームごとに特殊な実装を提供することもできます。
WinUI から始めて、最終的にクロスプラットフォーム シナリオをターゲットにしたい場合は、後で .NET MAUI を統合できますか?
現時点ではできません。 .NET MAUI は Windows で実行するときに WinUI を使用しますが、複数のプラットフォームをターゲットにすることを期待しているチームは、.NET MAUI または React Native for Desktop から始める必要があります。
私たちのチームは、強力なWebフロントエンド開発スキルを持っています。React Native for Desktop の使用を検討する必要がありますか?
強力な Web 開発エクスペリエンスを持つチームは、デスクトップ向けの React Native を検討する必要がある場合があります。 Windows および macOS 用の React Native が含まれています。 "Learn once, write anywhere" アプローチを使用すると、既存の JavaScript、TypeScript、React スキルを使用して、ネイティブの Windows アプリと macOS アプリを構築できます。
React Native for Desktop では、UI がネイティブ プリミティブに直接レンダリングされ、ネイティブのパフォーマンスとプラットフォームの機能が提供されます。
開始するには、 React Native for Desktop のドキュメント を参照してください。
React Native for Desktop でサポートされているその他の Windows デバイスはありますか?
React Native アプリは、PC、タブレット、2-in-1、Xbox、Mixed Reality デバイスなど、Windows 10 以降でサポートされているすべてのデバイスに展開できます。
Windows と Xbox で動作するアプリをビルドする場合は、何を使用する必要がありますか?
アプリで Xbox、HoloLens、または IoT をサポートする必要がある場合は、UWP をお勧めします。 Windows App SDK では、これらのプラットフォームはサポートされていません。 ゲーム開発には、 Microsoft Game Development Kit を使用します。
Windows と Surface Hub で動作するアプリをビルドする場合は、何を使用する必要がありますか?
Windows と Surface Hub の両方を対象としている場合は、UWP をお勧めします。
ハイブリッドおよび Web 開発
ハイブリッド アプリとは何ですか。また、その構築を検討する必要がある理由は何ですか?
ハイブリッド アプリは、最高の Web アプリとネイティブ アプリ開発を組み合わせたアプリです。 コアは HTML、CSS、JavaScript などの Web テクノロジを使用して構築され、特定のネイティブ プラットフォーム機能とハードウェアにアクセスできるネイティブ コンテナーにラップされています。 アプリ ストアを通じて配布することもできます。
主な利点は、ハイブリッド アプリを使用すると、複数のネイティブ プラットフォームと Web 上で実行できる 1 つのアプリを構築できるため、開発時間とコストを削減できることです。 ハイブリッド アプリ開発プラットフォームの例を次に示します。
- デスクトップ アプリ用 Electron
- モバイル アプリ用の Ionic
- クロスプラットフォーム アプリ用 .NET MAUI Blazor ハイブリッド
Windows でネイティブ感のプログレッシブ Web アプリ (PWA) を構築するにはどうすればよいですか?
「Windows での Web 開発」と「プログレッシブ Web アプリの概要」をご覧ください。
.NET MAUI Blazor ハイブリッド アプリとは
.NET MAUI を使用すると、Blazor アプリは Windows、iOS、Android、macOS でネイティブに実行できます。 これにより、Blazor コンポーネントと .NET MAUI コンポーネントを 1 つのネイティブ クライアント アプリに組み合わせたハイブリッド クライアント アプリを作成し、ネイティブ プラットフォーム機能にフル アクセスできます。
詳細については、 ASP.NET Core Blazor ハイブリッドを参照してください。
.NET MAUI ハイブリッド アプリの Web コンポーネントを Blazor で作成する必要がありますか?
No. .NET 9 以降、.NET MAUI には、ネイティブ アプリ内で他の JavaScript ベースの UI をホストできる HybridWebView コントロールが含まれています。
これにより、Angular、React、Vue、またはその他の HTML/JavaScript アプリを .NET MAUI アプリ内でホストできます。 ハイブリッド コントロールは C# と JavaScript の間の相互運用機能を提供するため、C# コードは JavaScript 関数を呼び出すことができます。その逆も同様です。
他のネイティブ アプリの種類は Blazor ハイブリッド コンポーネントをホストできますか?
Yes. WPF アプリと WinForms アプリでは Blazor ハイブリッド コンポーネントをホストすることもできます。これにより、既存のアプリに最新の Web UI を追加できます。 これは、.NET Framework 上に構築された WPF または WinForms アプリではサポートされていません。
アプリ全体をハイブリッド アプリにする必要があるか、ネイティブ コンポーネントとハイブリッド コンポーネントを混在させ、一致させるか。
ネイティブ コンポーネントとハイブリッド コンポーネントは、アプリ内で混在させることができます。 たとえば、アプリのコアは .NET MAUI コンポーネントを使用して構築できますが、ハイブリッド コンポーネントは追加の機能を提供します。 これにより、ネイティブ コンポーネントのパフォーマンスと機能と、ハイブリッド コンポーネントの柔軟性とコスト効率を組み合わせることが可能になります。
構築するための私の選択は何ですか.Windows 上の最新のブラウザーで見栄えの良い NET ベースの Web アプリ
Web アプリは、あらゆるクライアント アプリ プラットフォームの幅広い範囲を提供します。 美しい .NET Web アプリを作成するためのオプションは次のとおりです。
- Razor ページを使用してコア アプリを ASP.NET する
- コア MVC アプリの ASP.NET
- ASP.NET Core Blazor アプリ、ホスティング モデル オプション付き:
- Blazor WebAssembly(ブレイザー ウェブアセンブリ)
- Blazor Server
Blazor ホスティング モデルをコンポーネント レベルで構成できるようになりました。これにより、Blazor Server アプリ内で Blazor WebAssembly コンポーネントをホストするなどのシナリオが可能になります。
詳細については、 ASP.NET Core のドキュメント を参照してください。
アプローチを選択し、Microsoft の投資を理解する
Windows を対象とするアプリを構築するためのフレームワーク オプションは非常に多く存在します。どのように決定すればよいですか?
Windows は、多くのテクノロジをサポートするオープン プラットフォームです。 プラットフォームの選択に役立ついくつかの条件を次に示します。
- Windows ファーストまたはクロスプラットフォームを構築していますか?
- .NET、JavaScript、その他の言語やスキルは既に用意されていますか?
- Windows 固有の API にアクセスする必要がありますか?
- アプリの要件に最も適したフレームワークの機能はどれですか?
- その他の比較要因については、 次の表 を参照してください。
多くのビジネス アプリでは、多くの場合、チームは既存のスキルと、チームが最も使い慣れているものに基づいて選択します。
Web アプリに最適な開発方法を選択するにはどうすればよいですか?
Web アプリの開発アプローチを選択するときは、次の点を考慮してください。
- .NET を使用してフロントエンド Web アプリを構築する場合は Blazor をお勧めします。 .NET を使用してフロントエンドとバックエンドの両方を構築できるため、時間とコストを節約でき、エンタープライズ アプリに特に適しています。
- JavaScript Web アプリは、既存の JavaScript スキルを活用したい場合や、確立された JS ライブラリまたはフレームワークと統合する必要がある場合でも意味があります。
- Web フォーム、MVC、Razor Pages などの古いフレームワークを使用する既存のアプリは引き続きサポートされ、引き続き開発および保守できます。
現在、WinUI を使用してアプリを構築するのは誰ですか?
現在、Adobe や Apple など、多くのお客様が WinUI を使用して構築しています。
- Adobe Fresco、無料の描画と絵画アプリ。
- Apple の Apple Music、 Apple TV、 Apple Devices アプリは、WinUI と Windows App SDK を使用して構築されました。
Microsoft は、Windows 11 エクスプローラーやフォト アプリなど、多くの WinUI アプリも構築しています。
今日、.NET MAUI アプリを構築するのは誰ですか?
Microsoft を含む多くのお客様は、.NET MAUI を使用してクロスプラットフォーム アプリを構築しています。 たとえば、 Microsoft Azure モバイル アプリ は .NET MAUI を使用して構築されます。
詳細については、 .NET カスタマー ショーケースを参照してください。
現在 WPF アプリをビルドしているユーザー
ほとんどの Microsoft Visual Studio UI は WPF を使用して構築されています。 Visual Studio IDE 自体は、複雑で高パフォーマンスの WPF アプリの主要な例です。
現在 Blazor アプリを構築しているのは誰ですか?
GE Digitalの FlightPulse 航空システムは、パイロットが見るすべてのバックエンド構成に Blazor を使用し、センサー データと分析をパイロットに直接取り込み、安全性と効率を向上させます。
.NET サイトで Blazor のお客様事例 を参照してください。
UWP と WinUI 2
UWP アプリは Microsoft Store の外部に配布できますか?
Yes. MSIX パッケージが署名されている場合、署名証明書はターゲット デバイス上で有効かつ信頼できるものでなければなりません。
UWP XAML UI コントロールを Win32、WPF、または WinForms UI コントロールと混在させることができますか?
はい — XAML Islands を使用すると、この機能が有効になります。 XAML Islands の詳細については、こちらを参照してください。
パッケージ化、展開、更新
外部の場所でパッケージ化、パッケージ化解除、パッケージ化されるアプリの違いは何ですか?
パッケージ化されたアプリ、パッケージ化されていないアプリ、外部ロケーション付きのパッケージ化されたアプリの定義については、「展開の概要」を参照してください。 このトピックでは、各方法の長所と短所も説明されています。
WinUI アプリはエンド ユーザー向けに自動的に更新されますか?
WinUI アプリは、ストア、.appinstaller ファイル、または既存の MSI または setup.exe パッケージを通じて配信できます。 Store と AppInstaller では、自動更新が有効になっているエンドユーザー向けの自動更新がサポートされていますが、MSI/setup.exe アプリは独自の更新メカニズムを提供する必要があります。
MSBuild を使用せずに Windows App SDK を使用できますか?
一般に、いいえ。 WinUI と Windows App SDK には MSBuild が必要であるため、 Visual Studio はそれらを使用して開発するための前提条件です。 技術的には、他のツールチェーンで WinUI を使用しない Windows App SDK アプリをビルドすることは可能ですが、これはサポートされていません。
パフォーマンスと最適化
Windows アプリをエンド ユーザーに優しく感じさせるために、どうすればよいですか?
「アプリを Windows に最適にする」をご覧ください。
Compatibility
ユーザーは WinUI アプリを使用するために Windows を更新する必要がありますか?
Windows 10 バージョン 1809 以降のユーザーは、OS を更新せずに WinUI アプリをインストールできます。
WinUI アプリで Arm64 をターゲットにすることはできますか?
Yes.
非推奨と移行
UWP/WinUI 2 は非推奨ですか?
No. UWP と WinUI 2 は引き続きサポートされており、バグ、信頼性、セキュリティの修正プログラムを引き続き受け取ります。 ただし、ほとんどの新機能は WinUI に追加されます。
.NET 9 の UWP サポートを利用できます。 このオプションは、最新の .NET バージョンを使用する UWP アプリの最新化パスを提供します。
.NET 9 UWP サポートの目標は次のとおりです。
- WinUI に移行する開発者向けに、より適切な移行パスを提供します。
- 開発者が最新の .NET および C# 機能を利用できるように、.NET Native への依存関係を削除します。
詳細については、ブログ記事「 .NET 9 とネイティブ AOT のプレビュー UWP サポートを使用して UWP アプリを最新化する」を参照してください。
UWP/WinUI 2 アプリを WinUI に移行するタイミング
UWP 開発者は、UWP とその機能セットに満足している場合、移行の圧力を感じるべきではありません。多くのアプリでは、UWP を使用し続けるのが適切な選択肢である可能性があります。
最新の Windows プラットフォームと .NET への投資の恩恵を受けるアプリは、Windows App SDK への移行を検討する必要があります。 「UWP から Windows アプリ SDK への移行」を参照してください。
UWP + WinUI 2 アプリを WinUI に移行しない方が良いのはいつですか?
Xbox、Surface Hub、または HoloLens 用にビルドしている場合は、引き続き UWP を使用します。
WPF は非推奨ですか?
No. WPF はサポートされており、推奨されており、機能の更新プログラムを引き続き受け取ります。 GitHubの
WPF ロードマップを参照してください。
WinForms は非推奨ですか?
No. WinForms はサポートされており、引き続き機能更新プログラムを受け取ります。 GitHubの
Windows フォーム ロードマップを参照してください。
Windows ランタイム (WinRT) は非推奨ですか?
No. WinRT は、複数の言語間の相互運用を可能にするアプリケーション バイナリ インターフェイス (ABI) です。 WinRT は COM の進化であり、Windows App SDK は WinRT API を通じてほとんどの機能を提供します。
リリース ノート
Windows App SDK のリリース ノートはどこで入手できますか?
最新のリリース ノートは、 新機能 ページで確認できます。
関連コンテンツ
Windows developer