Windows UI ライブラリ (WinUI)

WinUI logo

重要

現時点では、Windows UI ライブラリ (WinUI) に、UWP 用 WinUI 2Windows App SDK の WinUI 3 という異なる 2 つの世代が存在します。 どちらも、Windows 10 以降の運用環境向けアプリで使用できますが、開発ターゲットはそれぞれで異なります。

WinUI 3 と WinUI 2 の比較」をご覧ください。

Windows UI ライブラリ (WinUI) は、Windows デスクトップと UWP の両方のアプリケーションに対応したネイティブ ユーザー エクスペリエンス (UX) フレームワークです。

WinUI では、すべてのエクスペリエンス、コントロール、およびスタイルに Fluent Design システムを採用することにより、最新のユーザー インターフェイス (UI) パターンを使用した、一貫性のある直感的でアクセスしやすいエクスペリエンスが提供されます。

デスクトップと UWP の両方のアプリをサポートしているため、最初から WinUI を使用して構築できるほか、既存の MFC、WinForms、または WPF のアプリを、C++、C#、Visual Basic、JavaScript などの使い慣れた言語で (React Native for Windows を使用して) 徐々に移行することもできます。

WinUI ライブラリは WinUI GitHub リポジトリでホストされています。このリポジトリでは、機能の要求やバグを報告したり、WinUI チームと対話したりできます。

WinUI 3 と WinUI 2 の比較

次の表は、Windows App SDK の WinUI 3 と UWP 用 WinUI 2 の特に重要な相違点を示したものです。

Windows App SDK の WinUI 3 UWP 用 WinUI 2
WinUI 3Windows App SDK に付属しています。 WinUI 2。WinUI の第 2 世代。スタンドアロン NuGet パッケージに含まれ、Windows SDK と統合されています。
UX スタックとコントロール ライブラリは、OS および Windows SDK から完全に分離されています。これには、その UX スタックのコア フレームワーク、コンポジション、入力レイヤーが含まれます。 UX スタックとコントロール ライブラリは、OS および Windows SDK と密接に結び付いています。
WinUI 3 は、運用環境向けのデスクトップ/Win32 Windows アプリの作成に使用できます。 WinUI 2 は UWP アプリケーションで使用でき、XAML Islands を使用してデスクトップ アプリケーションに組み込むことができます (インストールの手順については、「WinUI 2 ライブラリの概要」を参照してください)。
WinUI 3 は、Windows App SDK フレームワーク パッケージのコンポーネントとして、Windows App SDK Visual Studio 拡張機能 (VSIX) の Visual Studio プロジェクト テンプレートと共に提供されます。 WinUI 2 の一部は、オペレーティング システム自体 (UWP WinRT API の Windows.UI.* ファミリ) に含まれており、別の一部は、追加のコントロール、要素、およびオペレーティング システム自体に既に含まれているものに追加される最新のスタイルと共に、ライブラリ (“Windows UI Library 2”) として提供されます。 WinUI 2 では、これらの機能はダウンロード可能な NuGet パッケージに付属しています。 ただし、コア XAML フレームワーク、入力層、コンポジション層などの、UI スタックの他の重要な部分は、引き続き OS に組み込まれています。
WinUI 3 では、デスクトップ アプリ用の C# (.NET 6 以降) と C++ をサポートしています。 WinUI 2 では、C# と Visual Basic (.NET ネイティブ)、および C++ アプリをサポートしています。
WinUI 3 は、デスクトップベースのプロジェクトのみでサポートされています。 WinUI 3 を使用するために、UWP プロジェクトでプロジェクトの種類をデスクトップに移行できます (UWP アプリを Windows App SDK に移行する方法に関する記事を参照してください)。 WinUI 2 は、新規または既存の UWP プロジェクトに NuGet パッケージをインストールすることにより、実稼働 UWP アプリに組み込むことができます。 その後、WinUI のコントロールとスタイルは、既存のアプリの "Windows.UI" 名前空間の参照を "Microsoft.UI" に更新することで、新しいアプリで直接参照できるようになります。
WinUI 3 では、Chromium ベースの WebView2 コントロールをサポートします WinUI 2 では、すべてのデバイスで WebView コントロールがサポートされ、WinUI 2.7 プレリリース以降では、デスクトップで WebView2 コントロールがサポートされています。 将来的に、WebView2 コントロールは、WinUI 2.x 安定版になります。
WinUI 3 では、Windows 10 October 2018 Update (バージョン 1809、OS ビルド 17763) へのダウンレベルに対応します。 WinUI 2.0 - 2.7 では、Windows 10 Creators Update (バージョン 1703、OS ビルド 15063) へのダウンレベルに対応します。 WinUI 2.8 以降では、Windows 10 October 2018 Update (バージョン 1809、OS ビルド 17763) へのダウンレベルに対応します。

関連項目