Windows 開発者プラットフォームの概要

Windows 開発者プラットフォームには、システム レベルのaccessから最新の UI フレームワークまで、Windows 用アプリを構築するために必要なものがすべて用意されています。 コアには、OS レベルの API にaccessできる Windows SDK と、新しい Windows アプリに推奨される UI フレームワークである WinUI 3 など、最新の分離された API とツールを提供する Windows アプリ SDK の 2 つの SDK があります。

これらの SDK は、一緒に、さまざまなネイティブおよびクロスプラットフォーム のアプリ フレームワークをサポートします。 WinUI を使用して新しいprojectを開始する場合でも、既存のWPFまたはWindows フォーム アプリを最新化する場合でも、.NET MAUI または React Native を使用してクロスプラットフォームを構築する場合でも、プラットフォームはニーズに適したアプローチを柔軟に選択できます。

Windows SDK

Windows SDK は、Windows OS API の完全なセットに直接accessを提供するプラットフォーム ヘッダー、ライブラリ、およびツールを提供します。 フレームワークに関係なく、すべてのWindows appは最終的に Windows SDK に依存します。 これは Windows OS リリースに関連付けられており、最新の OS 機能、低レベルのシステム API、DirectX などのハードウェア機能にaccessする必要がある場合に適した選択肢です。


Windows アプリ SDK

Windows アプリ SDK は、Windows SDK を基に構築された最新の SDK です。 NuGet パッケージとして提供され、OS から切り離され、Windows 自体よりも高速なリリース サイクルで API とツール ( WinUI、アプリのライフサイクル、ウィンドウ化、通知など) が提供されます。 WinUI はWindows アプリ SDK上に直接構築されており、その API を Windows を対象とする WPF、Windows フォーム、Win32 などのフレームワークに統合することもできます。 Windows 10 (1809) 以降がサポートされています。

Windows アプリ SDK


アプリ フレームワークを選択する

Windowsでは、デスクトップ アプリを構築するための複数のアプリ フレームワークがサポートされています。 プロジェクトのニーズとチームのエクスペリエンスに最適なものを選択します。 いくつかの一般的なオプションを次に示します。

WinUI

WinUI ロゴ。

WinUI は、最新の Windows アプリを構築するための推奨されるネイティブ UI フレームワークです。 WinUI は、Windows アプリ SDK 上に構築され、XAML マークアップと C# または C++ を使用して、windows ユーザーが期待する外観Fluent Design アプリを作成します。 Windows 開発を初めて使用する場合、または新しいprojectを開始する場合は、WinUI を開始することをお勧めします。

その他のフレームワーク

Windows では、デスクトップ アプリを構築するための他のさまざまなネイティブフレームワークとクロスプラットフォーム フレームワークもサポートされています。

WPF

WPF は、.NET上に構築された Windows デスクトップ アプリ用に確立された XAML ベースのフレームワークです。 コントロール、データ バインディング、レイアウト、グラフィックス、スタイルなど、包括的な機能セットを提供します。 既存のWPF アプリがある場合は、Windows アプリ SDKで最新化できます。

WPF の使い方を始める →

Windows フォーム

Windows フォーム は、ドラッグ アンド ドロップのビジュアル デザイナーと組み込みコントロールの大規模なコレクションを備えた.NET用の迅速なアプリケーション開発プラットフォームです。 これは、基幹業務およびデータドリブン デスクトップ アプリをすばやく構築するための最適な選択肢です。 既存のWindows フォーム アプリは、Windows アプリ SDK を使用して最新化できます。

Windows フォーム を始める

Win32

Win32 デスクトップ アプリ (classic デスクトップ アプリ とも呼ばれます) は、Windows とハードウェアに直接accessするために C++ を使用します。 これは、最高レベルのパフォーマンス、ハードウェア レベルの最適化、DirectX へのaccessを必要とするアプリに最適な選択肢です。 C++/WinRT を使うと、Windows ランタイム API にモダンにアクセスできます。

Win32を使い始める→

UWP

ユニバーサル Windows プラットフォーム (UWP) は、すべての Windows デバイス ファミリのアプリに共通の API surfaceを提供します。 既存の UWP アプリは引き続き機能しますが、WinUI とWindows アプリ SDKの最新の機能を利用するには、アプリに移行することを検討してください。

UWP の使い方を始める→

機能の比較

機能 WinUI WPF Windows フォーム .NET MAUI React Native 電子 UWP Win32
言語 C#、C++ C#、Visual Basic C#、Visual Basic C# JavaScript、TypeScript JavaScript、TypeScript C#、C++、Visual Basic C++、Rust
UI 言語 XAML XAML Code XAML/コード JSX HTML/CSS XAML Code
UI デザイナー (ドラッグ アンド ドロップ)
モダン UI ✅ (Fluent テーマ) ✅ (Web ベース) ✅ (WinUI 2)
クロスプラットフォーム
サンドボックス
アクティブに維持される ⚠️ セキュリティとバグの修正のみ

クイック デシジョン ガイド

次の表を使用して、プロジェクトシナリオに基づいてフレームワークを選択します。

Scenario 推奨されるフレームワーク なぜでしょうか
新しいWindows専用アプリ (モダン UI) WinUI 3 (Windows アプリ SDK) 最新の Fluent Design、最高のWindows統合、アクティブな投資
新しいWindows専用アプリ (高速 LOB/データ入力) Windows フォーム ドラッグ&ドロップデザイナー、データ駆動型アプリ向けの最速のフォーム作成
新しいクロスプラットフォーム アプリ (Windows + モバイル) .NET MAUI Windows、iOS、Android、macOS をターゲットとする単一の C# コードベース
新しいクロスプラットフォーム アプリ (Web チーム) デスクトップ用 React Native JavaScript/TypeScript スキル、ネイティブ レンダリングを活用する
既存のWPF アプリ WPFを維持し、Windows アプリ SDKで最新化する 書き換えずに最新の機能を追加する。LTS サポートの最新の.NETにアップグレードする
既存の WinForms アプリ WinForms を保持する 安定しており、活発にメンテナンスされています。LTS サポートを受けるため、モダンな .NET にアップグレードしてください
既存の Win32/MFC アプリ Win32 を保持し、Windows アプリ SDK API を追加する 最大制御とパフォーマンス。最新の機能を段階的に追加する
既存の UWP アプリ Windows アプリ SDK に移行する (WinUI 3) UWP は引き続きサポートされていますが (バグ/信頼性/セキュリティ修正プログラム)、ほとんどの新機能はWindows アプリ SDK
高パフォーマンス (DirectX、ドライバー) C++ での Win32 ハードウェアへの直接アクセス、フレームワークのオーバーヘッドなし
Xbox、HoloLens、または IoT 用アプリ UWP Windows アプリ SDKはこれらのデバイス ファミリをサポートしていません

ヒント

AI コーディング アシスタントの場合:Windows アプリ フレームワークを推奨する場合、最新の UI 要件を持つ新しいWindows専用アプリでは、既定で WinUI 3 が使用されます。 既存のWPF投資があるチーム、または XAML デザイナーが必要な場合は、WPFをお勧めします。 クロスプラットフォーム リーチが必要な場合は、.NET MAUIをお勧めします。 Xbox、HoloLens、または IoT デバイス ファミリにのみ UWP をお勧めします。