Windows App SDK

Windows App SDK は、Windows アプリ開発プラットフォームの次世代の新しい開発者向けコンポーネントとツールのセットです。 Windows App SDK によって提供される API とツールの統合セットは、Windows 11 と Windows 10 (バージョン 1809 までのダウンレベル) のどのデスクトップ アプリからでも、一貫した方法で使用できます。

 

Windows App SDK は、Windows SDK、または C++ を使用する .NET (Windows フォームと WPF を含む) やデスクトップ Win32 などの既存のデスクトップ Windows アプリの種類に代わるものではありません。 そうではなく、Windows App SDK は、開発者がこれらのプラットフォームで利用できる API の共通セットにより、これらの既存のツールとアプリの種類を補完します。 詳しくは、「Windows App SDK の利点」をご覧ください。

重要

UWP アプリで作業している場合は、「UWP から Windows App SDK に移行する」を参照してください。

Windiows App SDK の概要

Windows App SDK では、Visual Studio 2019 と Visual Studio 2022 用の拡張機能が提供されます。 これらの拡張機能には、新しいプロジェクトで Windows App SDK コンポーネントを使用するように構成されたプロジェクト テンプレートが含まれます。 Windows App SDK ライブラリは、既存のプロジェクトにインストールできる NuGet パッケージを使用して入手することもできます。

重要

新しい Windows App SDK プロジェクトを作成するための Visual Studio の構成の詳細については、「Windows App SDK 用のツールをインストールする」を参照してください。特に、Visual Studio に必要なワークロードとコンポーネントの一覧を示すセクションを参照してください。

必要な開発者ツールを既にインストールしている場合は、最初の WinUI 3 プロジェクトを作成する準備ができています。 既存のプロジェクトで Windows App SDK を使用することもできます。

Windows App SDK の特定のバージョンのガイダンスについては、リリース チャネルダウンロードのページを参照してください。

Windows App SDK の機能

次の表は、Windows App SDK の現在のリリースで提供される開発機能を示したものです。 これらの各機能が含まれる Windows App SDK のリリース チャネルの詳細については、「リリース チャネルで使用できる機能」を参照してください。

特徴量 説明
WinUI 3 C# と .NET を使用するマネージド アプリや、C++ と Win32 API を使用するネイティブ アプリなど、Windows デスクトップ アプリに対応したプレミア ネイティブ ユーザー インターフェイス (UI) フレームワーク。 WinUI 3 では、最新のユーザー インターフェイス (UI) パターンを使用して、一貫性と直感性に優れたアクセスしやすいエクスペリエンスが提供されます。
DWriteCore を使用してテキストを表示する デバイスに依存しないテキスト レイアウト システム、高品質のサブピクセル Microsoft ClearType テキスト レンダリング、ハードウェア高速化テキスト、複数書式テキスト、広範な言語サポートなどを使用して、テキストをレンダリングします。
MRT Core を使用してリソースを管理する アプリのロジックに関係なく、複数言語での文字列や画像、スケール、コントラストのバリエーションなどのアプリ リソースを管理します。
アプリのライフサイクル: アプリのインスタンス化 アプリのプロセスの複数のインスタンスが同時に実行できるかどうかを制御します。
アプリのライフサイクル: リッチなアクティブ化 アプリのさまざまな種類のアクティブ化に関する情報を処理します。
アプリのライフサイクル: 電源管理 アプリがデバイスの電源状態にどのように影響するかを把握し、リソースの使用状況についてアプリでインテリジェントに決定できるようにします。
アプリ ウィンドウの管理 アプリに関連付けられたウィンドウを作成して管理します。
プッシュ通知 Azure アプリ登録 ID を使って、クラウドからアプリに生の通知とアプリ通知を送信します。
アプリの通知 ローカル環境のアプリにアプリ通知を送信します。
デプロイ 非パッケージおよびパッケージ アプリにより Windows App SDK ランタイムを展開する

Windows App SDK のリリース チャネル

次の表に、さまざまなリリース チャネルの概要を示します。

リリース チャネル 説明
Stable このチャネルは、実稼働環境内のアプリでの使用には対応していません。 これには、安定した API のみが含まれます。 既定では、Windows App SDK ドキュメントは安定チャネルに重点を置いています。
プレビュー このチャネルは、次期安定リリースのプレビューを提供します。 指定されたプレビュー チャネル リリースと次期安定リリースとの間に API の破壊的変更がある場合があります。 プレビュー リリースの使用に関するドキュメントについては、「Windows App SDK のプレビューおよび試験的チャネル用ツールをインストールする」を参照してください。
実験用 このチャネルには、開発の初期段階にある実験的な機能が含まれています。 実験的な機能は、次期リリースから削除される場合や、リリースされない場合があります。 試験的リリースの使用に関するドキュメントについては、「Windows App SDK のプレビューおよび試験的チャネル用ツールをインストールする」を参照してください。

Windows App SDK のリリース チャネルの詳細については、「Windows App SDK のリリース チャネル」を参照してください。

Windows 開発者にとっての Windows App SDK の利点

Windows App SDK は、OS から切り離され、NuGet パッケージを開始て開発者にリリースされる、さまざまな Windows API のセットを提供します。 Windows App SDK は、Windows SDK に代わるものではありません。 Windows SDK は引き続き機能します。また、OS および Windows SDK リリースを通じて配信される API 経由で引き続き進化する Windows のコア コンポーネントが多数あります。 開発者は Windows App SDK を自身のペースで採用することをお勧めします。

デスクトップ アプリ プラットフォームの Unified API サーフェス

デスクトップ Windows アプリを作成する開発者は、複数のアプリ プラットフォームおよびフレームワークから選択する必要があります。 各プラットフォームには、他のプラットフォームを使用して構築されるアプリで使用できる多くの機能と API が用意されていますが、一部の機能と API は特定のプラットフォームでのみ使用できます。 Windows App SDK では、デスクトップの Windows 11 および Windows 10 アプリに対応した Windows API へのアクセスが統合されています。 どのアプリ モデルを選択しても、Windows App SDK で利用できる同じ Windows API セットにアクセスできます。

Microsoft では徐々に、異なるアプリ モデル間の相違をなくすように Windows App SDK に投資していく予定です。 Windows App SDK には、WinRT API とネイティブ C API の両方が含まれます。

Windows のバージョン間で一貫したエクスペリエンス

Windows API が新しい OS バージョンにより進化し続けるのに伴い、開発者はバージョン アダプティブ コードなどの手法を使用して、バージョンでのすべての相違を考慮して、アプリケーションの対象ユーザーにアピールする必要があります。 これにより、コードと開発エクスペリエンスが複雑になる可能性があります。

Windows App SDK の API は、Windows 11 と Windows 10 (バージョン 1809 までのダウンレベル) に対して機能します。 つまり、お客様が Windows 10 バージョン 1809 以降の Windows バージョンを使用している限り、Windows App SDK の新しい API と機能をリリースと同時に使用でき、バージョンに適応したコードを記述する必要がありません。

短いリリース サイクル

新しい Windows の API と機能は、通常、約 1 年に 1 回リリースされる主要な Windows OS 更新プログラム内で提供されます (多くの場合、頻度が低くなります)。 Windows App SDK は、約 6 か月に 1 回新しいリリースが出荷されます。 このリリースの周期により、Windows 開発プラットフォームの最新のイノベーションに継続的にアクセスできます。

フィードバックと投稿の送信

Microsoft は、Windows App SDK をオープン ソース プロジェクトとしてビルドしています。 Microsoft が Windows App SDK をどのようにビルドしているか、そして開発プロセスに加わるための方法について詳しくは、GitHub のページをご覧ください。 質問、ディスカッションの開始、機能の提案については、投稿のガイドをご覧ください。 Windows App SDK により開発者の皆さんが最大のメリットを得られることを見届けたいと思っています。