Windows UI Library (WinUI)
The Windows UI Library (WinUI) is a native user experience (UX) framework for both Windows desktop and UWP applications.
By incorporating the Fluent Design System into all experiences, controls, and styles, WinUI provides consistent, intuitive, and accessible experiences using the latest user interface (UI) patterns.
At this time, there are two generations of the Windows UI Library (WinUI) under active development: WinUI 2 and WinUI 3. While both can be used in production-ready apps on Windows 10 and later, each have different development targets and release schedules.
Comparison of WinUI 3 and WinUI 2
The following table highlights some of most significant differences between WinUI 3 and WinUI 2.
|WinUI 3||WinUI 2|
|WinUI 3 ships with the Windows App SDK.||WinUI 2, the 2nd generation of WinUI, ships as a standalone NuGet package, and is integrated with Windows 10 and later SDKs.|
|UX stack and control library completely decoupled from the OS and Windows 10 and later SDKs, including the core framework, composition, and input layers of the UX stack.||UX stack and control library tightly coupled to the OS and Windows 10 and later SDKs.|
|WinUI 3 can be used to build production-ready desktop/Win32 Windows apps.||WinUI 2 can be used in UWP applications and incorporated into desktop applications using XAML Islands (for installation instructions, see Getting started with the WinUI 2 Library).|
|WinUI 3 ships as a component of the Windows App SDK framework package, with Visual Studio project templates in the Windows App SDK Visual Studio Extension (VSIX).||Part of WinUI 2 ships within the operating system itself (the Windows.UI.* family of UWP WinRT APIs) and part of it ships as a library (“Windows UI Library 2”) with additional controls, elements and the latest styles on top of what’s already included in the operating system itself. With WinUI 2, these features ship in a downloadable NuGet package. However, other significant parts of the UI stack are still built-in to the OS, such as the core XAML framework, input, and composition layers.|
|WinUI 3 supports C# (.NET 5) and C++ for desktop apps.||WinUI 2 supports C# and Visual Basic (.NET Native), and C++ apps.|
|WinUI 3 support for production-ready UWP apps is currently in preview, see WinUI 3 - Project Reunion 0.5 Preview.||WinUI 2 can be incorporated into production UWP apps by installing a NuGet package into a new or existing UWP project. WinUI controls and styles can then be referenced directly in new apps, or by updating "Windows.UI." namespace references to "Microsoft.UI." in existing apps.|
|WinUI 3 supports the Chromium-based WebView2 control||WinUI 2 supports the WebView control on all devices, and starting with WinUI 2.7 prerelease, the WebView2 control on Desktop. The WebView2 control will come to a WinUI 2.x stable release in the future.|
|WinUI 3 works downlevel to Windows 10 October 2018 Update (Version 1809, OS build 17763).||WinUI 2 works downlevel to Windows 10 Creators Update (Version 1703, OS build 15063).|
Windows UI 3 Library
WinUI 3 is the native UI platform component that ships with the Windows App SDK (completely decoupled from Windows 10 and later SDKs). The Windows App SDK provides a unified set of APIs and tools that can be used to create production desktop apps that target Windows 10 and later, and can be published to the Microsoft Store.
For more details, see the Windows App SDK overview and release notes.
To provide feedback and log suggestions and issues, please use the WinUI GitHub repo.
The Windows App SDK was previously known as Project Reunion. Some assets, such as the VSIX extension and NuGet packages, still use this code name (these will be renamed in a future release).
Windows App SDK is used in all documentation except where a specific release or asset still refers to Project Reunion.
Related links for WinUI 3
Windows UI 2 Library
The WinUI 2 Library can be used in UWP applications and incorporated into new or existing desktop applications using XAML Islands (for installation instructions, see Getting started with the WinUI 2 Library).
WinUI 2 is tightly integrated with Windows 10 and later SDKs and provides official native Windows UI controls and other UI elements for UWP apps. Maintaining down-level compatibility with earlier versions of Windows 10, enables WinUI 2 controls to work even if users don't have the latest OS.
For details on the latest version, see the WinUI 2 overview and release notes
For details on the work planned for the next release and to provide feedback, see the WinUI 2.8 milestone.
Related links for WinUI 2
Github: WinUI is an open-source project hosted on Github. Use the WinUI repo, to file feature requests or bugs, interact with the WinUI team, and view the team's plans for WinUI 3 and beyond on their roadmap.
Website: The WinUI website has product comparisons, explains the various advantages of WinUI, and provides ways to stay engaged with the product and the product team.