Description
Proposal: One Windows, not multiple
Today there's a lot of clear difference that distinguish app models, UI frameworks and OS editions. I'm proposing this to unify the Windows platform. There should be only one Windows and apps built for Windows should be equal and should be able to access the features. API sets should be unified (not just ones for low IL apps but APIs for other apps eg: GDI and should be available on devices even if they won't or can't be used by new UWP or Win32 apps so that existing apps will become universal easily.
Summary
Let Win32 desktop apps become universal. They can be packaged or not but should be installable and runnable on all Windows 10 devices. This will open doors to millions of existing Win32 desktop applications. Most APIs should be available on all devices, unless if they're really legacy, even if it doesn't make sense for a particular device similar to how most UWP APIs works. Those APIs don't necessarily need to be for UWP but for Win32 apps running on non-desktop platforms using those APIs, they should just work. Unless specified, everything should work everywhere out of the box eg: all new Reunion APIs should be for all devices unless it clearly says it's for desktop only or it's for Xbox only.
Rationale
- Unify the Windows platforms so users and app developers can think of Windows as one platform
- Provide Reunion functionality for everyone
Scope
Capability | Priority |
---|---|
This proposal will allow end-users to install and developers to deploy Win32 desktop apps (packaged or unpackaged) on all Windows devices | Must |
This proposal will allow end-users to install UWP and Win32 packaged apps on all SKUs and devices including Windows PE | Must |
This proposal will bring all APIs present on desktop to other SKUs and vice versa unless it's really meant for a specific device category | Must |
This proposal will allow developers to build Windows Runtime components that can be referenced from both UWP and Win32 projects inside Visual Studio without manifest/project file tweak | Must |
This proposal will allow developers to detect the supported features and security context and work accordingly | Should |