microsoft / microsoft-ui-xaml

Windows UI Library: the latest Windows 10 native controls and Fluent styles for your applications
MIT License
6.32k stars 676 forks source link

Proposal: Shared code library for WinUI 2 in UWP and WinUI 3. #6337

Closed DmitryBorodiy closed 3 months ago

DmitryBorodiy commented 2 years ago

So, After a little thought, I decided that why don't you add the ability to create a single code for UWP WinUI 2 and WinUI 3. So that developers can use WinUI to develop applications for all Windows devices, and not just for the desktop.

kmgallahan commented 2 years ago

Microsoft deprecated UWP. Nobody should be starting new projects targeting it, and spending any unnecessary MS developer cycles supporting it would just slow down WASDK / WinUI 3 progress.

https://github.com/microsoft/WindowsAppSDK/discussions/1615

DmitryBorodiy commented 2 years ago

I don’t understand the point of developing only for Desktop. I need support for an entire family of Windows devices. Most likely I will continue to develop on UWP WinUI 2x and will not be migrating to the Windows App SDK any time soon.

DmitryBorodiy commented 2 years ago

Microsoft deprecated UWP. Nobody should be starting new projects targeting it, and spending any unnecessary MS developer cycles supporting it would just slow down WASDK / WinUI 3 progress.

microsoft/WindowsAppSDK#1615

If Microsoft stops supporting UWP, it will most likely lead to the death of products such as Surface Hub, Xbox One S / X, Xbox Series X / S and Windows IoT Core.

DmitryBorodiy commented 2 years ago

How WinUI 3 apps will be work on all Windows ecosystem include Surface Hub 2 and Xbox?

kmgallahan commented 2 years ago

Per the link:

The Windows App SDK is focused on empowering developers to build the most productive apps on Windows. To achieve this, we are using the existing desktop project types as the foundation of the Windows App SDK, due to the vast amount of existing desktop APIs and compatibility that desktop project types provide. Additionally, we are making our existing UWP platform investments easier to consume by desktop project types and enabling new capabilities like AI & Fluent Design. As we enable these new capabilities, we are lifting more libraries from the OS into the Windows App SDK, so we can deliver on the agility and backwards-compatibility developers need to reach across the entire Windows ecosystem.

To provide UWP XAML as a target would enormously complicate how the WASDK functions, reintroduce the need for conditional code, and imply continued development of UWP / .NET Native (which as been abandoned for years).

The WinUI/WASDK team is already bogged down with asks from every desktop related angle possible. There is a 2000+ issue backlog and a standing board to vote on common requests.

The reality is that they just don't have to resources to get through the backlog as it is, let alone handle adding UWP as a target. That would mean new controls and features would have to be backported to UWP and released via OS updates (further slowing down progress).

Is it unfortunate that HoloLens, Surface Hub, and XBox are left behind? Yes. But their UWP app ecosystem wasn't exactly flourishing over the past ~5 years anyways. There are over a billion Windows 10/11 desktop devices to support, and a fairly trivial number of other Windows device types. If MS wants those other devices to thrive then the best bet is to release OS updates to allow them to run Win32 apps from the MS Store.

DmitryBorodiy commented 2 years ago

Per the link:

The Windows App SDK is focused on empowering developers to build the most productive apps on Windows. To achieve this, we are using the existing desktop project types as the foundation of the Windows App SDK, due to the vast amount of existing desktop APIs and compatibility that desktop project types provide. Additionally, we are making our existing UWP platform investments easier to consume by desktop project types and enabling new capabilities like AI & Fluent Design. As we enable these new capabilities, we are lifting more libraries from the OS into the Windows App SDK, so we can deliver on the agility and backwards-compatibility developers need to reach across the entire Windows ecosystem.

To provide UWP XAML as a target would enormously complicate how the WASDK functions, reintroduce the need for conditional code, and imply continued development of UWP / .NET Native (which as been abandoned for years).

The WinUI/WASDK team is already bogged down with asks from every desktop related angle possible. There is a 2000+ issue backlog and a standing board to vote on common requests.

The reality is that they just don't have to resources to get through the backlog as it is, let alone handle adding UWP as a target. That would mean new controls and features would have to be backported to UWP and released via OS updates (further slowing down progress).

Is it unfortunate that HoloLens, Surface Hub, and XBox are left behind? Yes. But their UWP app ecosystem wasn't exactly flourishing over the past ~5 years anyways. There are over a billion Windows 10/11 desktop devices to support, and a fairly trivial number of other Windows device types. If MS wants those other devices to thrive then the best bet is to release OS updates to allow them to run Win32 apps from the MS Store.

I gave up on Win32 a long time ago, it is a thing of the past for me, classic legacy development no longer matters. My goal is for applications to work on all supported devices. In addition, please note that desktop PCs are a thing of the past and I don't want to get stuck on Windows PCs only. Why not force developers to migrate to more modern platforms by phasing out Win32 support. You're going back to the old Windows 7 era that I gave up a long time ago with Steve Ballmer's team. Well, I no longer need Win32 support, as I can confidently say that this development model is completely outdated. Most likely, I will soon move to more mobile and versatile alternatives to your old, which is living out its last days.