Windows アプリ開発オプションを特定する

完了

ソフトウェア コンサルティング会社のシナリオで、あなたは、今後の各プロジェクトに最適なアプリケーション フレームワークを選択する必要があります。 Windows アプリケーションをビルドする複数のオプションがあります。 各オプションには、独自の長所と利点があります。 このユニットでは、Windows アプリケーションをビルドするためのオプションについて説明し、アプリケーションに最適なオプションを選択する方法について説明します。

Windows には、ネイティブ アプリケーションを作成するためのエキサイティングで多様な選択肢があります。 Microsoft が提供する各 UI フレームワークには、独自の利点と機能があります。 堅牢なデスクトップ アプリケーションを構築するための一般的な .NET フレームワークである Windows Presentation Foundation (WPF) と Windows フォームについてはよくご存じかもしれません。 ただし、Windows 開発における最新のイノベーションはご存じないかもしれません。WinUI と Windows アプリ SDK を使用すると、ハイ パフォーマンスで豊富な機能を備えた美しいネイティブ Windows アプリを作成できます。

A picture visualizing Windows UI framework options for developers.

WPF アプリケーション

WPF は、最新のグラフィックス ハードウェアを利用するために構築された Extensible Application Markup Language (XAML) ベースの UI フレームワークです。 WPF には、コントロール、データ バインディング、レイアウト、グラフィックスとアニメーション、スタイル、テンプレート、ドキュメント、メディア、文字体裁などの包括的な機能セットが用意されています。 WPF は .NET の一部です。そのため、.NET API の他の要素を組み込むアプリケーションを構築できます。 .NET はクロスプラットフォームですが、WPF は Windows でのみ使用できます。

WPF は、エンタープライズ アプリケーションを構築するための実績のあるフレームワークです。 これは、サードパーティ製のライブラリとコントロールの広範なエコシステムを備えた成熟したフレームワークです。 WPF は、高度なカスタマイズ、豊富な機能、ネイティブ Windows アプリケーションのハイ パフォーマンスを必要とするデスクトップ アプリケーションを構築するための最適な選択肢です。

ユーザーはウィンドウを介して WPF アプリケーションとやりとりしますが、そのウィンドウ システムは先進的です。 WPF ウィンドウはモーダルまたはモードレスにすることができ、他のアプリケーションでホストできます。 また、WPF では、複数のウィンドウもサポートされています。 WPF は現在、すぐに使用できる Fluent デザインをサポートしていませんが、WPF アプリケーションにさまざまなデザイン オプションを組み込むことができるサードパーティ製ライブラリがあります。 WPF アプリは、Microsoft Store を介した配布、スタンドアロン パッケージ経由でのインストールのほか、エンタープライズ ソフトウェア管理システムと共に展開することができます。

A picture visualizing WPF application development.

Windows フォーム アプリケーション

Windows フォームは、Windows 用のリッチ デスクトップ クライアント アプリを作成する UI フレームワークです。 Windows フォーム開発プラットフォームでは、コントロール、グラフィックス、データ バインディング、ユーザー入力など、さまざまなアプリ開発機能がサポートされています。 Windows フォームには、Windows フォーム アプリをすばやく簡単に作成するための、Visual Studio のドラッグ アンド ドロップ ビジュアル デザイナーが用意されています。

Windows フォームは .NET の一部であるため、.NET API の他の要素を組み込むアプリケーションを構築できます。 .NET はクロスプラットフォームですが、Windows フォーム フレームワーク (WPF など) は Windows でのみ使用できます。 Windows フォームは、高度なカスタマイズ、豊富な機能、最新の .NET スタック上に構築されたネイティブ Windows アプリケーションのハイ パフォーマンスを必要とするデスクトップ アプリケーションを構築する場合に適した選択肢です。

Windows フォームは、システム ユーティリティ アプリや基幹業務アプリケーションに人気のある選択肢です。 Windows フォームは、サードパーティ製のライブラリとコントロールの大規模なエコシステムを備えた成熟したフレームワークです。 XAML ベースの UI フレームワークとは異なり、Windows フォームはアニメーションやリッチなグラフィックスを必要とするアプリにはあまり適していません。 WPF アプリと同様に、Windows フォーム アプリケーションは、Microsoft Store を介した配布、スタンドアロン パッケージ経由でのインストールのほか、エンタープライズ ソフトウェア管理システムと共に展開することができます。

A picture visualizing Windows Forms application development.

Windows アプリ SDKを使用した WinUI アプリケーション

WinUI 3 は、Windows アプリ SDK に付属するネイティブ UI プラットフォーム コンポーネントです。 前身のユニバーサル Windows プラットフォーム (UWP) とは異なり、Windows App SDK API は Windows ソフトウェア開発キット (SDK) から切り離されています。 Windows アプリ SDKには、Windows 用デスクトップ アプリの作成に使用される一連の API とツールが用意されています。 Windows アプリ SDKを使用して、Windows 11 と Windows 10 バージョン 1809 までのダウンレベルでアプリケーションを作成できます。

WinUI アプリには Fluent デザインが組み込まれており、外観に優れた Windows アプリが提供されます。 WinUI 3 アプリは、C# または C++ で記述できます。 XAML UI フレームワークは、WPF 開発の経験を持つ Windows 開発者にはなじみがあるものです。 現在の機能セットが要件を満たし、フレームワークの継続的な開発作業によって新機能が定期的に提供される場合は、最適な選択肢です。 現在、WinUI は一流の Windows アプリケーションを開発したいと考える独立系ソフトウェア ベンダー (ISV) が選択すべきフレームワークとして位置付けられています。

Fluent の設計原則は、スタイルとテーマのセットだけではありません。 アプリケーションを操作するときのアクセシビリティと全体的なユーザー エクスペリエンスも含まれます。 WinUI は、そのすべてを具体化します。 WPF はスタイルと一致する可能性がありますが、ユーザー エクスペリエンスの中で最高のものが要件とされている場合は、完全には対応できない場合があります。

WinUI アプリケーションは、Microsoft Store を介した配布、スタンドアロン パッケージ経由でのインストールのほか、エンタープライズ ソフトウェア管理システムと共に展開することができます。

A picture visualizing WinUI application development.