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 の利点」をご覧ください。

注意

Windows App SDK は、以前は Project Reunion というコード ネームで知られていました。 VSIX 拡張機能や NuGet パッケージなど、一部の SDK アセットでは引き続きこのコード ネームが使用されていますが、これらのアセットは将来のリリースで名前が変更されます。 ドキュメントの一部では、既存のアセットや指定された旧リリースを参照する際に、Project Reunion が引き続き使用されています。 Windows App SDK を使用するには、Windows SDK もインストールする必要があります。

Windiows App SDK の概要

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

  1. 開発環境を設定し、「開発者ツールのインストール」から最新の Windows App SDK VSIX をインストールします。
  2. 手順に従って、Windows App SDK を使用した新しいプロジェクトを作成するか、既存のプロジェクトで 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 開発者にとっての 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 回または 2 回のリリース サイクルで発生する OS リリースに関連付けられています。 Windows App SDK の更新プログラムはさらに短いサイクルで提供されるため、Windows 開発プラットフォームでイノベーションが起きるとすぐに、より早く、より迅速に利用できるようになります。

開発者向けロードマップ

最新の Windows App SDK プランについては、ロードマップを参照してください。

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

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