Windows 開発者プラットフォームには、システム レベルのaccessから最新の UI フレームワークまで、Windows 用アプリを構築するために必要なものがすべて用意されています。 コアには、OS レベルの API にaccessできる Windows SDK と、新しい Windows アプリに推奨される UI フレームワークである WinUI 3 など、最新の分離された API とツールを提供する Windows App SDK の 2 つの SDK があります。
これらの SDK は、一緒に、さまざまなネイティブおよびクロスプラットフォーム のアプリ フレームワークをサポートします。 WinUI を使用して新しいprojectを開始する場合でも、既存のWPFまたはWindows Forms アプリを最新化する場合でも、.NET MAUI または React Native を使用してクロスプラットフォームを構築する場合でも、プラットフォームはニーズに適したアプローチを柔軟に選択できます。
Windows SDK
Windows SDK は、Windows OS API の完全なセットに直接accessを提供するプラットフォーム ヘッダー、ライブラリ、およびツールを提供します。 フレームワークに関係なく、すべてのWindows appは最終的に Windows SDK に依存します。 これは Windows OS リリースに関連付けられており、最新の OS 機能、低レベルのシステム API、DirectX などのハードウェア機能にaccessする必要がある場合に適した選択肢です。
Windows App SDK
Windows App SDK は、Windows SDK を基に構築された最新の SDK です。 NuGet パッケージとして提供され、OS から切り離され、Windows 自体よりも高速なリリース サイクルで API とツール ( WinUI、アプリのライフサイクル、ウィンドウ化、通知など) が提供されます。 WinUI はWindows App SDK上に直接構築されており、その API を Windows を対象とする WPF、Windows Forms、Win32 などのフレームワークに統合することもできます。 Windows 10 (1809) 以降がサポートされています。
アプリ フレームワークを選択する
WinUI
WinUI は、最新の Windows アプリを構築するための推奨されるネイティブ UI フレームワークです。 WinUI は、Windows App SDK 上に構築され、XAML マークアップと C# または C++ を使用して、windows ユーザーが期待する外観Fluent Design アプリを作成します。 Windows 開発を初めて使用する場合、または新しいprojectを開始する場合は、WinUI を開始することをお勧めします。
その他のフレームワーク
Windows では、デスクトップ アプリを構築するための他のさまざまなネイティブフレームワークとクロスプラットフォーム フレームワークもサポートされています。
WPF
WPF は、.NET上に構築された Windows デスクトップ アプリ用に確立された XAML ベースのフレームワークです。 コントロール、データ バインディング、レイアウト、グラフィックス、スタイルなど、包括的な機能セットを提供します。 既存のWPF アプリがある場合は、Windows App SDKで最新化できます。
Windows Forms
Windows Forms は、ドラッグ アンド ドロップのビジュアル デザイナーと組み込みコントロールの大規模なコレクションを備えた.NET用の迅速なアプリケーション開発プラットフォームです。 これは、基幹業務およびデータドリブン デスクトップ アプリをすばやく構築するための最適な選択肢です。 既存のWindows Forms アプリは、Windows App SDK を使用して最新化できます。
Win32
Win32 デスクトップ アプリ (classic デスクトップ アプリ とも呼ばれます) は、Windows とハードウェアに直接accessするために C++ を使用します。 これは、最高レベルのパフォーマンス、ハードウェア レベルの最適化、DirectX へのaccessを必要とするアプリに最適な選択肢です。 C++/WinRT を使用して、最新のaccessを使用して API をWindows Runtimeできます。
Win32 →Get started
UWP
Universal Windows Platform (UWP) は、すべての Windows デバイス ファミリのアプリに共通の API surfaceを提供します。 既存の UWP アプリは引き続き機能しますが、WinUI とWindows App SDKの最新の機能を利用するには、アプリに移行することを検討してください。
UWP →Get started>
機能の比較
| 機能 | WinUI | WPF | Windows Forms | .NETマウイ島 | React Native | UWP | Win32 |
|---|---|---|---|---|---|---|---|
| 言語 | C#、C++ | C#、Visual Basic | C#、Visual Basic | C# | JavaScript、TypeScript | C#、C++、Visual Basic | C++、Rust |
| UI 言語 | XAML | XAML | Code | XAML/コード | JSX | XAML | Code |
| UI デザイナー (ドラッグ アンド ドロップ) | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ |
| モダン UI | ✅ | ✅ (Fluent テーマ) | ❌ | ✅ | ✅ | ✅ (WinUI 2) | ❌ |
| クロスプラットフォーム | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ |
| サンドボックス (AppContainer) | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ |
| アクティブに維持される | ✅ | ✅ | ✅ | ✅ | ✅ | ⚠️ セキュリティとバグの修正のみ | ✅ |
Windows developer