Windows UI ライブラリ (WinUI)

WinUI logo

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

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

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

重要

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

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

WinUI リソース

GitHub: WinUI は、GitHub でホストされているオープンソース プロジェクトです。 WinUI リポジトリを使用して、機能リクエストやバグ報告を行ったり、WinUI チームと対話したりできます。WinUI 3 以降のチームの計画をロードマップで確認することもできます。

Web サイト: WinUI Web サイトには、製品の比較と WinUI の利点に関する説明があり、製品と製品チームの最新の動向を常にチェックできます。

WinUI 3 と WinUI 2 の比較

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

WinUI 3 WinUI 2
WinUI 3Windows App SDK に付属しています。 WinUI 2 。WinUI の第 2 世代。スタンドアロン NuGet パッケージに含まれ、Windows 10 以降の SDK と統合されています。
UX スタックとコントロール ライブラリは、OS および Windows 10 以降の SDK から完全に分離されています。これには、その UX スタックのコア フレームワーク、コンポジション、入力レイヤーが含まれます。 UX スタックとコントロール ライブラリは、OS および Windows 10 以降の 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 では、Windows 10 Creators Update (バージョン 1703、OS ビルド 15063) へのダウンレベルに対応します。

関連項目