Today at Microsoft Build 2020 the WinUI team is excited to announce the latest version of WinUI 3 available for public preview: WinUI 3 Preview 1. This preview expands the world of WinUI to an even wider audience of developers – the previously-released WinUI 3 Alpha was only available to UWP app developers, but Preview 1 now enables WinUI usage in Desktop (Win32) apps as well!
What is WinUI?
WinUI is Microsoft’s most advanced user interface technology for building Windows apps. There are two versions of WinUI in active development: WinUI 2 and WinUI 3. WinUI 2 is a library of Fluent-based UI controls & styles for UWP XAML apps; it was first shipped in Oct 2018 and its latest release is v2.4 which came out recently on May 8th.
WinUI 3 is a currently-in-development, dramatic expansion of this library into a full-fledged, end-to-end, standalone UI framework. This UI framework continues the tradition of WinUI and UWP XAML, providing the very latest graphical capabilities and Fluent Design styling that embraces today’s modern devices, hardware, and inputs. Technically, WinUI 3 decouples the XAML, Composition, and Input layers of Windows 10, and ships them independently via NuGet for any app targeting Windows 10 1803 and above. It can be used in both C++ and .NET-based apps.
WinUI 3 Preview 1 is the first pre-release of WinUI 3 that can be used in both UWP and Desktop apps, allowing every developer a chance to tap into the very latest UI technologies from Microsoft for building Windows apps. You can learn more about WinUI here.
What’s new in WinUI 3 Preview 1?
In addition to the aforementioned ability to use WinUI from Desktop apps, Preview 1 will also support .NET 5 when run in this Desktop context. Preview 1 is also the first preview of WinUI 3 to include the SwapChainPanel control – this is key for developers working with DirectX for providing custom graphical rendering as a part of their user experience.
In February, the WinUI team released an Alpha of WinUI 3 with an all-new Chromium-based WebView2 control. This same control carries through to Preview 1 and has been updated with several improvements. Preview 1 also offers several other advancements compared to the February Alpha:
- Support for the .NET versions of several interfaces when using .NET 5. In Preview1, .NET 5 is used with Desktop apps. The interfaces (and a class) are: INotifyPropertyChanged, INotifyCollectionChanged, ObervableCollection<T>, and ICommand.
- New, recently released controls ported forward from WinUI v2.4.
- Several important bug fixes & stability improvements.
A full articulation of the capabilities and limitations of Preview 1 can be found in the WinUI 3 Preview 1 Release Notes. Of special note: Preview 1 should not be used in production apps, as it does not guarantee forward compatibility and may break in future updates we make to Windows 10.
Who’s using WinUI?
At Build 2020 we’ll share stories of customers and ecosystem partners we’re working with to improve & develop WinUI 3. Examples of these partnerships that will be referenced during the conference include:
- Magix, a developer of audio & video solutions for creators, who’s showcasing how they’ve harnessed the power of WinUI to modernize some of the UI components in their Win32-based VEGAS Pro app
- Esri, market leader in geographic information system (GIS) software, using ArcGIS Runtime, .NET and SwapChainPanel with WinUI 3 Preview 1 to render gigabytes of geospatial data in rich, high performance mapping components
- Uno platform, an open source platform for building apps that span across mobile endpoints, Windows, macOS, and the Web
These are just some of the great companies exploring and engaging with us as we develop WinUI 3, and in the coming months you’ll learn more about these and other engagements as we prepare for the eventual release of WinUI 3.0 for general availability.
How can I get started?
To start with WinUI 3.0 Preview 1, head over to our download and release notes page. You can also find more information and technical setup details in our documentation on creating a Desktop app with WinUI.