The future of XAML in other platforms (WPF, UWP) is being moved into WinUI. Discussions I've had with the Xamarin team makes it clear that there has to be an explicit decision made on what path the team's resources and effort towards supporting; UWP support or WinUI support.
Personally, I think if any new efforts are made, it might as well be for WinUI, promising the greatest future compatibility. This Feature Request is to help gauge interest and have a discussion around supporting WinUI.
Mentioned Resources
Agreed. It might be a setback for UWP Shell support in terms of timing, but I prefer putting effort in WinUI support instead of getting the current implementation production ready and then having to wait again for winUI
Moving to WinUI is a major breaking change for renderers and platform APIs. So it'll disrupt the ecosystem quite a lot.
I'm curious what the thinking is wrt making the move: will there be both uwp xaml platforms for a while until you can safely deprecate the old, or are you thinking about doing a clean but disruptive break?
WinUI as a concept is a breaking change. WPF/UWP developers will have to jump onto this bandwagon (sigh!!).
TBH support for UWP on XF has been a low priority for a while. If we can focus this attention onto WinUI this will align with the wider MS story around WinUI.
@nickrandolph That's exactly how this topic came up. WinRT UWP is indeed low priority, if it weren't for people like @dotMorten opening PRs to get UWP support for newer XF features, we wouldn't have any.
However, they _are definitely_ going to .NET 5, so let's keep WinUI 2/3 in the same conversation as .NET 5 and put the work into it at the same time.
Side Note: There is a sentiment on the team that supporting WinUI is easier than UWP, so there probably would be more enthusiastic engagement from the devs/PMs.
@LanceMcCarthy but the concern there is bolting WinUI support to .NET 5 support - is this connection required. The reason I ask is that I'm assuming .NET 5 support requires Xamarin.iOS and Xamarin.Android and UWP/WPF to support .NET 5.... Has anyone seen a timeline for this?
WinUI support should only be WinUI 3, otherwise too much back-compat to deal with.
WPF/UWP developers will have to jump onto this bandwagon
They don't HAVE to. But sure it's the direction things are going and for new development that makes sense. But do we want to disrupt existing apps?
WinUI support should only be WinUI 3, otherwise too much back-compat to deal with.
TBH I don't think it's that bad. I merely #if-def'ed my using statements and got multi targeting going for a rather major project in almost no time, now compiling for both WinUI and UWP.
Untill we start taking advantage of WinUI specific features that isn't really too much of a maintenance nightmare.
Could WinUI be added as another platform, so it can be developed and targeted separate from the current UWP platform support...with a transition timeline for UWP being deprecated and WinUI becoming the team supported Windows framework?
@bmacombe I think that is the best approach, at least to start with. We already have separate packages for Xamarin.Forms.Platform.WPF and Xamarin.Forms.Platform.GTK as alternatives to UWP for targeting Windows.
Eventually, a breaking change could be made to make WinUI the default target included in the base Xamarin.Forms package and spin Xamarin.Forms.Platform.UWP into a separate package available for backwards compatibility.
I need any working and support desktop target combined with Xamarin...
@samhouts We are developing a single application for Desktop, Surface, Apple and Android for many of our products and want it to look modern like material / fluid / fluent design. Currently we use Xamarin forms, but there is no UWP love. What is your recommended strategy for us please?! Just need to know what to do here.
Most helpful comment
@bmacombe I think that is the best approach, at least to start with. We already have separate packages for Xamarin.Forms.Platform.WPF and Xamarin.Forms.Platform.GTK as alternatives to UWP for targeting Windows.
Eventually, a breaking change could be made to make WinUI the default target included in the base Xamarin.Forms package and spin Xamarin.Forms.Platform.UWP into a separate package available for backwards compatibility.