WinUI 3.0 Preview 3 is a big step towards shipping the final version of WinUI.
We at Uno Platform team are happy to report that Uno Platform already works with the latest WinUI preview. Our sincerest thanks to WinUI team who keeps us posted on their progress and allows us to make modifications to Uno so that our joint developer base can use the latest and greatest bits right away.
In addition to shipping support for Preview 3 the team also managed to ship additional features in our 7th release in 2020.
About the Uno Platform
For those new to Uno Platform – it allows for creation of pixel-perfect, single-source C# and XAML apps which run natively on Windows, iOS, Android, macOS, Linux and Web via WebAssembly. Uno Platform is free and Open Source (Apache 2.0) and available on GitHub. The best way to get started with the Uno Platform is to check out the Getting Started guide (< 10 minutes to complete)
WinUI 3 Preview 3 support
We’re aligning the API surface from WinUI 3.0 Previews in Uno, alongside adding support for the WinUI Desktop project template. The Desktop template enables WinUI applications to use the full Win32 and WinRT API with .NET 5, without running in the UWP sandbox.
To create an application using the WinUI 3 API set, run the following command:
dotnet new -i Uno.ProjectTemplates.Dotnet dotnet new unoapp-winui -o MyApp
This will create a brand-new project to experiment with WinUI 3 Preview 3 and Uno.
You can find up-to-date information about dotnet new templates in our documentation.
A few points about the WinUI 3 Preview support:
- Debugging and running the Windows Desktop project must be done using the “MyProject.Windows.Package” project, not the “MyProject.Windows.Desktop” package (you will experience Startup exceptions otherwise).
- The WinUI+UWP project created by the template does not yet support .NET 5, but supports C# 8.0 and .NET Standard 2.0 libraries.
- In order to run the WinUI 3 Windows Desktop and UWP heads, it’s best to install Visual Studio 2019 16.9 Preview 1. For the other platforms, you can choose recent stable builds of Visual Studio 2019.
Android 11 and iOS 14 Support
Uno is now providing Android 11 support and deprecates the use of Android 9, which Google stopped supporting as of November 1st.
If your application was targeting the API level 28 (Android 9), you can upgrade to Android 10 (Level 29) or 11 (Level 30) in your application’s property pages.
Support for KeyUp and KeyDown Skia backends
Keyboard was a big ask from the community, and the first consumer of this feature is the Uno Calculator for Linux. We’ve updated the Snapped application to enable keyboard support to input numbers and operators.
We’ve also updated our AppImage support for the Linux Calculator, in case you’re on a distribution that does not support snap, or snap is not installed.
How to Upgrade
To upgrade to latest release of Uno Platform please update your packages to 3.3 via your Visual Studio NuGet package manager! If you are new to Uno Platform, the best way to get started is following our official getting started guide.
Webinar: Uno Platform and .NET 5 (Dec 17th, 2020, Noon EST)
Adding support for .NET 5 in Uno Platform creates multiple opportunities to improve performance and reduce solution complexity. With .NET 5, we can better target traditional Microsoft Windows targets, but also WebAssembly, Linux, macOS, iOS and Android. Come join us for a 30 minutes overview of how Uno Platform takes advantage of .NET 5 and WinUI, as well as for live Q&A with our CTO Jerome Laban.
Jerome Laban on behalf of Uno Platform Team