編集

次の方法で共有


Windows 開発者向け FAQ

この記事は、Windows の開発経験と製品の方向性について共通理解を深めるためのものです。

現在の Windows アプリ開発環境では、さまざまなフレームワークとテクノロジから選択できます。 この 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 開発テクノロジの簡単な概要はどこで確認できますか?

アプリ開発オプションの概要」を参照してください。

クラウド サービス時代の最新のデジタル変革のためにクライアント アプリ開発が依然として重要なのはなぜですか?

クラウド サービスの時代には、クライアント アプリの開発は、最新のデジタル変革の重要な要素であり続けます。 開発者にとって、クライアント アプリケーションの構築は、リーチだけでなく、ユーザー デバイスで応答性の高い意味のある対話を実現するために不可欠です。

クライアント アプリがまだ重要な理由は次のとおりです。

  • Device Reach: 15 億を超える Windows デバイスと 50 億を超える Android デバイスと iOS デバイスをグローバルに使用して、クライアント アプリを使用すると、選択したデバイス上のユーザーにアプリケーションを直接取り込むことができます。
  • Gateway to Intelligent Services: クライアント アプリは、多くの場合、ユーザーがサービスと最初にやり取りします。 インテリジェントな機能を紹介し、製品を他のユーザーと区別できる、豊富でインタラクティブなインターフェイスを提供します。
  • クラウド統合によるスケーラビリティ: 優れた統合されたクライアント アプリをバックエンド クラウド サービスと簡単に同期できるため、ユーザー ベースの拡大に合わせてリアルタイムのデータ アクセスとシームレスなスケーラビリティを実現できます。
  • 生産性とユーザー ロイヤルティの向上: 慎重に設計されたアプリは、生産性を向上させ、ユーザーが時間の経過と共に製品やサービスに関与し続けることができます。

ネイティブ Windows 専用アプリ開発

Windows App SDK とは

Windows App SDK は、美しくモダンで、下位互換性のある (Windows 10 1809 まで) デスクトップ アプリを作成できる Windows アプリケーション開発プラットフォームです。 WinUI 3 は、Windows App SDK に付属している UI フレームワークです。

Windows App SDK と Windows SDK の違いは何ですか?

どちらも、Windows アプリをビルドするためのソフトウェア開発キット (SDK) です。

Windows App SDK は、Windows のさまざまなバージョン (Windows 10 1809 まで) にインストールできるモダンなデスクトップ アプリをビルドできる、新しい開発プラットフォームです。 Windows App SDK を使用してアプリをビルドするとき、最新の Windows 開発プラットフォーム機能を利用することができます。 Windows App SDK には WinUI 3 が含まれています。

Windows SDK は、UWP アプリや Win32/デスクトップアプリをビルドするための開発プラットフォームです。 設計の中心になっている Windows API は、特定のバージョンの OS と連動しています。

Windows App SDK は、Windows SDK に代わるものではありません。 Windows App SDK は Windows SDK を補完するものです。 便利で OS から切り離された抽象化を、既に Windows SDK を使用してアクセスできる豊富な Windows OS API のカタログの周囲に提供します。 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 フレームワークは、Windows デバイス間で一貫したユーザー エクスペリエンスを提供し、すべての Windows デバイスでアプリの外観と動作を確実にします。
  • オフライン サポート: ネイティブ Windows フレームワークはオフライン シナリオのサポートを提供し、ユーザーがインターネットに接続していない場合でもアプリを動作させます。
  • 収益化: ネイティブ Windows フレームワークは、Microsoft によって積極的に保守およびサポートされており、最新の更新プログラムや機能にアクセスできます。

Windows アプリ開発に対する Microsoft の最新の投資を活用するには、どのフレームワークを使用する必要がありますか?

新しい Windows 専用アプリをビルドする場合は、WinUI を使用することをお勧めします。 WinUI は、Windows アプリ開発用の最新のネイティブ UI フレームワークであり、さまざまな Windows デバイスで動作するように設計されています。 WinUI には、視覚的に魅力的で対話型の Windows アプリを作成できる、モダンで柔軟な UI フレームワークが用意されています。 WinUI は Windows App SDK の一部であり、最新バージョンの Windows で最適に動作するように設計されています。

既存の Windows アプリで Windows App SDK/WinUI を使用できますか?

WinUI (UI フレームワーク) は、Windows App SDK (Windows プラットフォーム開発フレームワーク) 付属しています。

一般に、UI フレームワークを完全に移行する準備が整っていない限り、WinUI を使用することはできません。 他の UI フレームワーク (WPF、Win32) で WinUI コンテンツをホストできる、XAML アイランド と呼ばれる機能に取り組んでいます。

既存のアプリの構築方法に応じて、任意のデスクトップ アプリで Windows App SDK の要素を使用できる必要があります。 UWP アプリは、Windows App SDK ではサポートされていません。

つまり、WPF/MFC/WinForms アプリでは、WinUI に関連しない Windows App SDK API を使用できます。 このような API の例としては、App Lifecycle、Windowing、Toast Notifications などがあります。

詳細については、「既存のプロジェクト で Windows App SDK を使用する」を参照してください。

Visual Studio を使用して WinUI アプリをビルドする必要がありますか?

Visual Studio 2022 バージョン 17.10 以降を使用して WinUI アプリを開発することを強くお勧めします。 最新バージョンの Visual Studio を使用することで、Hot Reload などの豊富な開発機能を利用することができます。 最新の Visual Studio インストーラーには、Windows アプリケーション開発 ワークロード が含まれるため、WinUI 開発を簡単に開始できます。

他の IDE や開発ワークフローを使用することはできますが、現在、Visual Studio は、WinUI 用に公式にサポートされている唯一の IDE です。 MSBuild は、XAML または WinUI を使用するプロジェクトをコンパイルするために必要であることに注意してください。

Windows App SDK と WinUI 3 を使用してアプリをビルドする場合、"WinUI アプリ" をビルドしていますか?

はい - "WinUI アプリ" は、使用することをお勧めします。 WinUI 2 はアプリの種類ではなく、UWP アプリで使用できるコンポーネントのセットであるため、WinUI 3 アプリは一般に "WinUI アプリ" と呼ばれます。

WinUI 2 コンポーネントを WinUI 3 コンポーネントに徐々に置き換えることで、WinUI 2 コントロールを使用して UWP アプリを WinUI 3 に段階的に更新できますか?

いいえ。 Windows App SDK を UWP アプリで使用することはできません。WinUI 2 が WinUI 3 と混在することはできません。 「UWP から Windows アプリ SDK への移行」を参照してください。

UWP アプリを WinUI に移行するのはどのくらい難しいですか?

UI コンポーネントの移行は一般的に単純です (C# と C++/WinRT の場合)。 それ以外の場合、UWP から WinUI に移行するコストは、主に次の要因によって異なります。

  1. プロジェクト ファイルと MSBuild のカスタマイズ: プロジェクトの移行は、高度な MSBuild 機能を使用するかどうかによって、相当な労力が必要になる場合があります。
  2. .NET API の移行: UWP アプリが .NET に依存している場合は、.NET 6 以降にアップグレードする必要があります。 ほとんどの場合、.NET 6 を採用することは簡単です。
  3. UI コンポーネント ライブラリ: UI コンポーネント ライブラリを使用する場合は、WinUI 3 をターゲットとする新しいバージョンのライブラリが必要です。
  4. UWP ソース コードが現在置き換えられた C++/CX で記述されている場合は、一部のソース コードの移植が必要になります。 「C++/CX から C++/WinRT への移行」をご覧ください。

UWP 移行の詳細については、「UWP から Windows アプリ SDK への移行」を参照してください。

ストアに既存の UWP アプリがある場合、同じ識別子を使用して新しいパッケージ化された WinUI アプリを発行できますか?

はい。アップグレードされたアプリは、アプリケーションの ID を更新することなく公開できます。 古いバージョンを持つユーザーは、新しいバージョンに更新されます。 このガイダンスは、デスクトップ アプリだけに適用されます。 Xbox、HoloLens、および Surface Hub アプリは WinUI に移行できません。

WinUI アプリをパッケージ化/配布するにはどうすればよいですか?

展開の概要」をご覧ください。

Windows App SDK の移行ガイダンスはどこにありますか?

UWP から Windows アプリ SDK への移行」を参照してください。

WinUI を使用する場合は、XAML マークアップを使用する必要がありますか?

いいえ。 UI コントロールは、コードで作成できます。 ただし、開発者エクスペリエンスの向上など、宣言型 XAML マークアップの形式で WinUI ユーザー インターフェイスを表す利点は多数あります。

UWP から WinUI に移行する場合は、多くの XAML マークアップと UI 関連のコードを再利用できる可能性があります (ただし、構文の一部を更新する必要があります)。 WPF から WinUI に移行する場合は、多くの概念を再利用できますが、コントロール セットと API は異なります。

Visual Studio には WinUI 用のデザイン サーフェイス/UI デザイナーがありますか?

まだです。 これは WinUI 開発者エクスペリエンスのギャップであると認識しています。 XAML Hot Reload のようなツールは、多くのシナリオで役に立ちます。 Work は Windows App SDK 1.7 の WinUI 用 Visual Studio UI デザイナーで を開始しましたが、この機能のリリースのタイムラインはまだありません。

Windows App SDK には WinUI 3 が含まれていますか?

はい。 WinUI 3 は Windows App SDK に付属しています。

Windows App SDK には WinUI 2 が含まれていますか?

いいえ。 WinUI 2 は UWP プラットフォームの一部です。

WinUI 2 と WinUI 3 は、同じ技術で作られているのですか?

そうとも言えません。 WinUI 3 は WinUI 2 のコードベースからスタートしましたが、両社は別個の技術です。 WinUI 2 と WinUI 3 はどちらも XAML ベースの UI フレームワークで、.NET と C++ で動作します。 なお、WinUI 2 と WinUI 3 は相互に互換性がありません。

Windows App SDK を使用せずに WinUI 3 を使用することはできますか?

いいえ。 WinUI 3 は Windows App SDK に付属しています。

パッケージ化されていないアプリで WinUI 3 を使用できますか?

はい。 Windows App SDK のすべての技術は、WinUI 3 を含めて、パッケージ化されていないアプリで動作します。

XAML Islands と WinUI 3 の違いは何ですか?

XAML Islands を使用すると、最新の WinUI コントロールを既存の Win32 UI と共に、WinForms や WPF などの他のフレームワークからホストできます。 現在、XAML Islands は ほとんどの システム XAML コントロールと WinUI 2 コントロールでサポートされています。 詳細については、「デスクトップ アプリで WinRT XAML コントロールをホストする (XAML Islands)」を参照してください。 WinUI 3 コントロールに対する XAML Islands のサポートは、Windows アプリ SDK 1.4 以降で利用できます。

WinUI アプリを作成すると、Windows 11 と Windows 10 の両方で最新の外観になりますか?

はい。あなたのアプリの UI は、Windows 11 およびバージョン 1809 までの Windows 10 のすべてのサポート対象バージョンで、パッケージ化されたシナリオとパッケージ化されていないシナリオの両方において、最新の Fluent UI 設計原則を継承します。

Windows アプリ SDK でビルドされたアプリでマイカ (Windows 11) やアクリル (Windows 10) の背景を使用できますか?

WinUI サンプルはどこにありますか?

サンプルとリソース」を参照してください。 いくつかの注目すべきリポジトリ:

既に WPF に多額の投資を行っている場合、WPF を引き続き使用するか、WinUI への移行を検討する必要がありますか?

既に WPF に多額の投資を行っている場合は、既存のアプリに引き続き WPF を使用できます。 WPF は、Windows デスクトップ アプリを構築するために開発者によって広く使用されている成熟した安定したフレームワークです。

.NET Upgrade Assistant を利用して、.NET Framework WPF アプリを最新の .NET プラットフォームに移行することを検討してください。 .NET アップグレード アシスタントは、.NET Framework アプリをサポートされている最新バージョンの .NET に移行するのに役立つツールです。 .NET アップグレード アシスタントは、既存のコードベースを分析し、コードを更新する方法に関するガイダンスを提供します。

新しい WPF アプリをビルドすると、他の新しい Windows アプリと比較して日付が表示されますか?

.NET 9 以降を使用して WPF アプリケーションを開発する場合、アプリが Windows 11 の洗練された最新の外観と一致することを確認できます。 WPF 用の新しい Fluent テーマでは、最新の Windows 11 の美学が WPF アプリケーションに導入され、統合されたライト/ダーク モードとシステム アクセントカラーのサポートが備わります。 この更新プログラムは、アプリの外観を最新化するだけでなく、洗練されたまとまりのあるユーザー エクスペリエンスを提供することでユーザー エンゲージメントを強化します。

私のチームは WinForms アプリの構築に慣れているので、ニーズに合っています。 WinUI または別のフレームワークへの移行を検討する必要がありますか?

チームが WinForms アプリの構築に慣れ、WindForms がニーズを満たしている場合は、既存のアプリに引き続き WinForms を使用できます。 WinForms は、Windows デスクトップ アプリを構築するために開発者によって広く使用されている成熟した安定したフレームワークです。

WinForms チームは、さまざまな機能に投資しており、共同作成者の活発なコミュニティを持っています。 現在の投資分野には次のようなものがあります。

  • 一般的なコントロールを使用した非同期サポート
  • ダーク モード
  • レイアウトの柔軟性
  • クリップボード アクセスなどのデスクトップ セキュリティ機能

クロスプラットフォーム ネイティブ開発

Windows を対象とするクロスプラットフォームのネイティブ アプリを構築する理由は何ですか?

複数の OS プラットフォーム間でユーザーを対象としている場合、.NET MAUI または React Native を使用してクロスプラットフォーム アプリを構築すると、次のような利点があります。

  • Reach: クロスプラットフォーム アプリを構築、さまざまなプラットフォームで多くのユーザーにリーチできます。
  • コードの再利用: クロスプラットフォーム アプリを構築、異なるプラットフォーム間でコードを再利用できるため、開発時間とコストを削減できます。 Windows、iOS、Android、macOS などの個別のアプリをビルドすると、非常にコストがかかる場合があります。
  • 一貫性のあるユーザー エクスペリエンス: クロスプラットフォーム アプリを構築、さまざまなプラットフォーム間で一貫したユーザー エクスペリエンスを提供し、すべてのデバイスでアプリの外観と動作を確実にします。
  • 統合: クロスプラットフォーム アプリの構築、さまざまなプラットフォームやサービスと統合できるため、より包括的なユーザー エクスペリエンスを提供できます。

Windows で .NET MAUI アプリが適切に動作することを確信できますか?

Windows用 .NET MAUI アプリをビルドすると、出力は WinUI アプリになります。 .NET MAUI は開発時に、Windows を含むすべてのプラットフォームで 1 つの .NET エクスペリエンスを提供しますが、内部的にはプラットフォーム固有のコードを生成します。 これにより、.NET MAUI アプリが各プラットフォームで適切に実行され、ネイティブ ユーザー エクスペリエンスが提供されます。

.NET MAUI では、すべてのプラットフォームでネイティブ デバイス API を提供するにはどうすればよいですか?

.NET MAUI は、Windows、iOS、Android、macOS など、すべてのプラットフォームで 1 つの .NET エクスペリエンスを提供します。 .NET MAUI は、60 を超えるプラットフォーム固有の API を、.NET MAUI アプリで使用できる単一のクロスプラットフォーム API に抽象化します。 これらの API には、ストレージ、ネットワーク、デバイス固有のセンサーなどのアクセスが含まれます。 必要に応じて、依存関係の挿入を使用してプラットフォーム固有の追加 API にアクセスして、各プラットフォームのコードを抽象化することもできます。

WinUI から始めて、最終的にクロスプラットフォーム シナリオをターゲットにしたい場合は、後で .NET MAUI を統合できますか?

現時点ではありません。 .NET MAUI アプリは Windows で実行するときに WinUI を使用しますが、複数のプラットフォームをターゲットにする必要が予想される場合は、.NET MAUI または React Native for Desktop から開始することをお勧めします。

私たちのチームは、強力なWebフロントエンド開発スキルを持っています。 React Native for Desktop の使用を検討する必要がありますか?

チームが強力な Web 開発スキルを持っている場合は、React Native for Desktop の使用を検討できます。 React Native for Desktop には、Windows 用の React Native と macOS フレームワーク 含まれます。 React Native のモットーは"1 回学習し、どこでも記述する" です。つまり、既存の Web 開発スキルを使用して、React Native を使用してネイティブ Windows アプリを構築できます。 React Native for Desktop は、React Native を使用してネイティブ Windows アプリと macOS アプリを構築できるオープンソース プロジェクトです。 React Native for Desktop には、React Native アプリのデスクトップ OS 固有の機能にアクセスできる一連の API が用意されています。

チームは、JavaScript、TypeScript、React の各スキルを活用して、ネイティブ プリミティブに直接レンダリングされる UI レイヤーを構築できます。 これにより、ネイティブ アプリのパフォーマンスと、ネイティブ プラットフォームの機能へのアクセスが提供されます。

Windows 用 React Native 開発の概要の詳細については、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 上で実行できる単一のアプリを構築し、開発時間とコストを削減できることです。 ハイブリッド アプリ開発プラットフォームの例をいくつか次に示します。

  • デスクトップ アプリ用 Electron
  • モバイル アプリ用の Ionic
  • クロスプラットフォーム アプリ用の .NET MAUI Blazor ハイブリッド

ネイティブ感覚のプログレッシブ Web アプリ (PWA) を Windows 上でビルドするにはどうすればよいですか?

.NET MAUI Blazor ハイブリッド アプリとは

.NET MAUI を使用すると、Blazor アプリを Windows、iOS、Android、macOS でネイティブに実行することもできます。 つまり、Blazor コンポーネントと .NET MAUI コンポーネントを 1 つのネイティブ クライアント アプリに結合するハイブリッド クライアント アプリを作成できます。 これにより、他の .NET MAUI アプリで使用できる同じネイティブ プラットフォーム機能へのフル アクセスが提供されます。

Blazor を .NET MAUI アプリ内でホストする方法の詳細については、ASP.NET Core Blazor ハイブリッドに関するページを参照してください。

.NET MAUI ハイブリッド アプリの Web コンポーネントを Blazor で作成する必要がありますか?

いいえ。.NET MAUI ハイブリッド アプリの Web コンポーネントを Blazor で作成する必要はありません。 .NET 9 以降、.NET MAUI には、ネイティブ アプリで他の JavaScript UI をホストできる HybridWebView コントロールが用意されています。

つまり、Angular、React、Vue、またはその他の HTML & JavaScript Web アプリを取得し、.NET MAUI アプリ内でホストできます。 ハイブリッド コントロールでは、C# レイヤーと JavaScript レイヤー間の相互運用機能が提供されるため、C# から JavaScript 関数を呼び出すことができます。その逆も同様です。

他のネイティブ アプリの種類は Blazor ハイブリッド コンポーネントをホストできますか?

はい。WPF アプリと WinForms アプリで Blazor ハイブリッド コンポーネントをホストすることもできます。 これにより、既存の WPF アプリと WinForms アプリに最新の Web UI コンポーネントを追加できます。 これは、.NET Framework 上に構築された WPF または WinForms アプリでは実行できないことに注意してください。

アプリ全体をハイブリッド アプリにする必要があるか、ネイティブ コンポーネントとハイブリッド コンポーネントを混在させ、一致させるか。

アプリでは、ネイティブ コンポーネントとハイブリッド コンポーネントを組み合わせることができます。 たとえば、.NET MAUI コンポーネントを使用してアプリのコアを構築し、ハイブリッド コンポーネントを追加して追加機能を提供できます。 これにより、ネイティブ コンポーネントのパフォーマンスと機能、ハイブリッド コンポーネントの柔軟性とコスト削減という、両方の長所を活用できます。

構築するための私の選択は何ですか.Windows 上の最新のブラウザーで見栄えの良い NET ベースの Web アプリ

Web アプリは、任意のクライアント アプリ プラットフォームの範囲が最も広い範囲にあります。 Windows で美しい .NET Web アプリを作成する場合は、いくつかのオプションがあります。

  • Razor ページを使用してコア アプリを ASP.NET する
  • コア MVC アプリの ASP.NET
  • ASP.NET Core Blazor アプリ。次のようなホスティング モデル オプションがあります。
    • Blazor WebAssembly アプリ
    • Blazor サーバー アプリ

Blazor のホスティング モデルは、コンポーネント レベルで今すぐ構成できることに注意してください。 そのため、Blazor サーバー アプリでホストされている Blazor WebAssembly コンポーネントを作成できます。

ASP.NET Core 開発オプションの詳細については、ASP.NET Core のドキュメントを参照してください。

アプローチを選択し、Microsoft の投資を理解する

Windows を対象とするアプリを構築するためのフレームワーク オプションは非常に多く存在します。 どのように決定すればよいですか?

Windows は、多くのテクノロジをサポートするオープン プラットフォームです。 使用するプラットフォームを決定するのに役立ついくつかの条件を次に示します。

  • Windows ファーストまたはクロス プラットフォームを構築していますか?
  • .NET の使用経験はありますか? JavaScript? その他の言語
  • Windows 固有の API にアクセスする必要がありますか?
  • アプリの要件に最も適したフレームワークの機能はどれですか?
  • その他 決定要因については、この表 を参照してください。

ビジネス アプリに関しては、ほとんどのチームは、既存のスキルと、チームが使い慣れているものに基づいて選択したいと考えています。

Web アプリに最適な開発方法を選択するにはどうすればよいですか?

Web アプリの開発アプローチを選択する際に考慮すべき点を次に示します。

  • .NET を使用してフロントエンド Web アプリを構築する場合は Blazor をお勧めします。 Blazor を使用すると、.NET を使用してフロントエンドとバックエンド全体を構築できるようになり、時間とコストを節約できます。 これは、今日のデバイス上のエンタープライズ基幹業務アプリに特に適しています。
  • JavaScript Web アプリは、チームの既存のスキルや JavaScript への投資を活用したい場合や、既存の JavaScript ライブラリやフレームワークと統合する必要がある場合に、まだ意味があります。
  • Web フォーム、MVC、Razor Pages などの古いフレームワークを使用する既存のアプリは引き続きサポートされており、これらのフレームワークを使用して引き続き開発および保守できます。

現在、WinUI を使用してアプリを構築するのは誰ですか?

現在、Adobe や Apple など、多くのお客様が WinUI を使用して構築しています。

  • Adobe Fresco、Windows 用の無料の描画および描画アプリです。
  • Apple は、Apple MusicApple TV、および WinUI と Windows App SDK を使用して Apple Devices アプリを しました。

Microsoft では、Windows 11 エクスプローラーやフォト アプリなど、WinUI を使用していくつかのアプリも作成しています。

今日、.NET MAUI アプリを構築するのは誰ですか?

多くのお客様は、.NET MAUI を使用して、Microsoft を含むクロスプラットフォーム アプリを現在構築しています。 たとえば、Microsoft Azure モバイル アプリ は、.NET MAUI を使用して構築されています。

.NET MAUI を使用して他のユーザーがアプリを構築しているユーザーを、.NET のお客様が サイトで紹介します。

現在 WPF アプリをビルドしているユーザー

Microsoft Visual Studio のユーザー インターフェイスのほとんどは、WPF を使用して構築されています。 Visual Studio IDE は、複雑で高パフォーマンスの WPF アプリの優れた例です。

現在 Blazor アプリを構築しているのは誰ですか?

GE Digitalの FlightPulse 航空会社システムは、安全性と効率を向上させるために、センサーデータと分析をパイロットの手に入れます。 パイロットに表示されるすべてのバックエンド構成は、すべて Blazor で行われます。

.NET サイト Blazor の顧客事例 詳細を確認できます。

UWP と WinUI 2

UWP アプリを Microsoft Store の外部に配布できますか?

はい。 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 を使用して開発するための前提条件です。 技術的には、他のツールチェーンを使用して WinUI を使用しない Windows App SDK アプリをビルドすることは可能ですが、これはサポートされていません。

パフォーマンスと最適化

Windows アプリをエンドユーザーに気持ちよく使ってもらうためには、どうしたらいいでしょうか?

アプリを Windows に最適にする」をご覧ください。

互換性

ユーザーは WinUI アプリを使用するために Windows を更新する必要がありますか?

Windows 10 バージョン 1809 以降を使用しているユーザーは、OS を更新せずに WinUI アプリをインストールできます。

WinUI アプリで Arm64 をターゲットにすることはできますか?

はい。

非推奨と移行

UWP/WinUI 2 は非推奨なのですか?

いいえ。 UWP と WinUI 2 は引き続きサポートされており、バグ、信頼性、およびセキュリティの修正が行われます。 ただし、最新の .NET ランタイムのサポートなど、ほとんどの新機能は WinUI 3 にのみ追加されます。

UWP/WinUI 2 アプリは、いつ WinUI 3 に移行すればよいですか?

UWP 開発者は、UWP とその機能セットに満足していれば、アプリを WinUI 3 に移行する必要はありません。 アプリによっては、移行しないことが最良の選択となる場合もあります。 Microsoft の最新の Windows プラットフォームと .NET への投資の恩恵を受けたいアプリの場合は、Windows App SDK への移行を検討する必要があります。 「UWP から Windows App SDK への移行」をご覧ください。

UWP + WinUI 2 アプリを WinUI 3 に移行しない方が良いのはどんな場合ですか?

Xbox、Surface Hub、HoloLens 向けにビルドしている場合は、引き続き UWP を使用することをお勧めします。

WPF は非推奨ですか?

いいえ。 WPF はまだサポートされていて、いくつかの機能アップデートを受けることもできます。

WinForms は非推奨ですか?

いいえ。 WinForms はまだサポートされていて、いくつかの機能アップデートを受けることもできます。

Windows ランタイム (WinRT) は非推奨ですか?

いいえ。 WinRT とは、複数の言語間での相互運用を可能にするアプリケーション バイナリ インターフェイス (ABI) を指します。 WinRT は COM の進化系です。 Windows App SDK は、その機能のほとんどを WinRT API を通じて提供します。

リリース ノート

Windows App SDK のリリース ノートはどこにありますか?