You might have caught the news that Microsoft will not invest in moving UWP to .NET5/6. Naturally this raised questions about how Uno Platform is affected, especially as Uno Platform also ships in lockstep with .NET.
The short answer is – this news does not change anything for our users as Uno Platform has been architected to support both UWP as well as WinUI 2.x / 3. We intend to continue this support for as long as these are supported platforms at Microsoft as it is straightforward and automatic for us to support both.
For the long answer – the important part is to understand what UWP is. UWP is a combination of an app model with isolation (the sandbox) and APIs (WinUI+WinRT). Uno Platform has been all about implementing the APIs, while leaving the app model to the underlying platform.
If you’re running an Uno Platform app on iOS, Android or the Web with WebAssembly, the app will need to play along with the sandbox that the system provides.
Uno supports both the Windows.UI.Xaml (a.k.a WUX, bundled with UWP) and Microsoft.UI.Xaml (a.k.a MUX available in WinUI 2.x and WinUI 3/WinAppSDK). Uno provides support for those through the Uno.UI.* and Uno.WinUI.* NuGet packages respectively, and are built from the same source code.
If you’d like to move from WUX (UWP) to MUX (WinUI 3), and also want to take advantage of what Uno Platform does with .NET 5/6, you can do so today. We have documented UWP to WinUI migration process at our docs. Before starting your migration we recommend reviewing the dependencies you have taken on from UWP, and to make sure a comparative feature exists on WinUI side. As for Windows Community Toolkit many of you use for your Uno-based applications, we have not ported it yet. It is on the roadmap, and we are already working on it together with the toolkit team.
We will continue to maintain both UWP and WinUI options for you for as long as those platforms are supported by Microsoft. If you are already heavily invested in UWP + Uno Platform, there should be no rush to port. UWP isn’t going away. Once WinUI 2.x / 3 / WinAppSDK have the dependencies and features you need then make the move. For net-new applications we recommend using WinUI and Uno Platform as clearly that is where Microsoft is putting new resources.
As already announced we will have support for .NET 6 on the day it launches. Stay tuned to .NET Conf announcements and we hope you will come see our session as well.
On November 30th, tune into UnoConf 2021 for three hours of talks & demos from Uno Platform experts and contributors on all the great things you can accomplish with the first and only UI Platform for single-codebase applications.
Uno Platform Team