Skip to main content

Microsoft publishes UWP to Win32 migration details, but it's probably not what you think

Microsoft Store Windows11 October
Microsoft Store Windows11 October (Image credit: Daniel Rubino / Windows Central)

Microsoft has today published details around how app developers can migrate (opens in new tab) their existing UWP Windows applications to the new Windows App SDK (opens in new tab) (Project Reunion,) which itself is based on the classic Win32 app platform. This documentation has immediately re-heated the on-going debate regarding whether UWP is dead or alive, so let's see what the fuss is about.

The info and FAQ that Microsoft has published today details how an app developer can migrate their existing UWP app over to the Windows App SDK. It goes on to detail why an app developer would want to do this, citing that the Windows App SDK has access to features and APIs that UWP doesn't (and likely never will.)

If you're a developer with a UWP app, but want to utilize the latest advancements in WinUI 3.0 or .NET 5 and up, then you'll need to migrate your app to the Windows App SDK first. This is because UWP is not being updated to support these new platform features and APIs. UWP can continue to use WinUI 2.x and .NET Core 3.1 as it always has done.

It's important to note here that Microsoft is not saying that developers need to migrate from UWP because it's being killed off. In fact, the documentation says quite the opposite: "if you are happy with your current functionality in UWP, there is no need to migrate your project type." The documentation goes on to mention that Windows itself continues to use UWP where it makes sense.

With that said, Microsoft does want app developers to adopt the new Windows App SDK, and making it easier for UWP developers to do so is a no-brainer for everyone. The Windows App SDK is the future of app development on Windows desktop as it attempts to combine the best of UWP and Win32 so that developers have the freedom to build the apps they want.

UWP-only platforms still exist

HoloLens

Source: Windows Central (Image credit: Source: Windows Central)

UWP still is the only way to build apps on HoloLens and Xbox platforms, and until that changes, it'll always be an option for developers if they're looking to build Windows apps. It may not be the best option, and it certainly won't be the platform with the most APIs and features for developers to take advantage of, but when was UWP ever?

Ultimately, this will come down to a choice for developers. What kind of app are you building? Does it require the additional features available in the Windows App SDK that UWP does not offer? Does your app need to be cross-compatible with UWP-only versions of Windows such as Xbox or HoloLens?

All of these questions need to be answered before an app developer decides what platform they need to use. If you need access to the new APIs and features present in the Windows Apps SDK, then Microsoft has made it easy to migrate your UWP app. If you don't, then you're welcome to stay using UWP, which Microsoft says will continue to be updated with security, bug, and reliability fixes.

For us end-users, not much changes. Apps built with the Windows App SDK can utilize the best of UWP, including the modern and fluid UI framework that end-users have wanted every developer and app to adopt since 2015. If your favorite app does decide to migrate from UWP to Windows Apps SDK, if it's done well you shouldn't notice it even happened.

Windows App SDK is the future, bringing UWP and Win32 under one umbrella for developers to take advantage of the best of both worlds. Does that mean UWP itself is dead? It depends on what you consider to be "dead" in this regard. Is UWP still being available as an option for developers who want or need it considered dead? Even if UWP isn't being updated with new features?

I'll leave that up to you, but for me personally, UWP can only be considered "dead" when it's no longer supported in Windows or a choice for developers when creating a new project. For us to get to that point, Microsoft would need to allow third-party non-UWP apps to run on Xbox and HoloLens first.

via @WithinRafael

Zac Bowden is a Senior Editor at Windows Central. Bringing you exclusive coverage into the world of Windows 10 on PCs, tablets, phones, and more. Also an avid collector of rare Microsoft prototype devices! Keep in touch on Twitter: @zacbowden.

37 Comments
  • The state of the Windows App SDK is kind of confusing right now. See e.g. WinUI 2.x vs 3, and how WinUI 2.x (UWP only!) has had the Windows 11 style for months, and WinUI 3 (desktop apps only!) still hasn't.
  • Thing is, if UWP can only have WinUI 2.x, this can cause developer fragmentation. Sure they didn't say to abandon UWP, but given that it doesn't have that new UI framework means UWP is really outdated and akin to telling developers to avoid if they want newer UI framework with minimal effort. But well, the new Windows App SDK is a combination of UWP and old Win32, so in a sense superior on paper. So the best interest for the user is for developer to adopt it. Only issue is that on HoloLens and Xbox, they only support UWP if I read it correctly.
  • Regarding WinUI, at the same time, WinUI 2.x has had two releases in the past three months or so, and was clearly given priority over WinUI 3 in terms of updating the style. So it's not as simple as saying one is the new UI framework and the other is the old and outdated one.
  • I see, thanks for the additional info. It is confusing in a way though that WinUI 2.x gotten more priority over WinUI 3.x when it regards to updating the style. Still good to know that at least UWP can leverage the new Fluent Design. Keeping the UWP looks more relevant. At the end of the day, end-user won't know the WinUI versions and just see what actually showing up on their screen.
  • I think WinUI 2 was given more priority because it's the one actually in use.
  • Hololens now uses OpenXR and considers WinRT viable only for legacy applications,
    https://docs.microsoft.com/en-us/windows/mixed-reality/develop/native/op... Likewise, XBox has released the GDK, where it explicitly mentions UWP is for community apps (similar to how XNA used to be) without any support. https://github.com/microsoft/GDK
  • That's going to be one hell of a mess 😂 second reason why UWP is not dying.
  • Agreed, it's not easy as the article states. Many of the controls we are used to use, missing in the WinUI3 and there is no road map to implement them. I'm not talking about forgettable controls who nobody using. Mediaelement is still missing, so it's impossible for me porting my kiosk app to winUI and still I don't know how I will able to do it.
  • soon as they made uwp it destroyed anything good about developing native windows apps. I'd rather just make a WPF app then mess with this com crapola i left behind in 2004.
  • I think the take-aways for me on this are:
    1. If there was any prior doubt, UWP is definitively no longer the future development Windows model where developers should focus.
    2. Classic (pre-UWP) app developers now have easy access to all the touch and tablet tools and benefits previously only available to UWP developers (thanks to Project Reunion). Perhaps this will make it easier to add touch and Inking support into more apps.
  • No, no. Not "now" but "will have", because Microsoft doesn't see a problem with releasing things unfinished. You can't do everything in a WinUI 3 app that you can do in a UWP one. I wouldn't be so upset with this if things were in a better state.
  • I highly doubt Windows App SDK is based on the classic Win32 app platform. If that was the case then the aplications written using this framework would work on WIndows 7/8, which is not the case. To me it sounds like Windows App SDK is evolution of UWP with some elements of Win32 included.
  • "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." Source: https://github.com/microsoft/WindowsAppSDK/discussions/1615
  • The same source also says this: "Our goal is to make the Windows App SDK the superset of the capabilities of both desktop and UWP – which would give developers a single path forward. " Like I said, evolution of UWP with Win32 included. AND again, these apps won't run on on Windows 7/8
    so it can't be just simple Win32.
  • That's right, but apparently the basis will be Win32 extended with UWP APIs, rather than the other way round.
  • Well, actually, after reading some knowledgeable comments from expert on other forums, it will be the other way around. Based on improved UWP and enhanced with Win32.
  • It's just Win32 with WinUI and they're porting the UWP APIs over. .NET's WinUI projects are basically WPFs, for exemple. It doesn't derive from UWP.
  • That's funny no one's going to use that. No one knows how to do win32 anymore.
  • Sigh... Microsoft and their bloody mixed messaging this getting really old. Microsoft should have thrown alot more resources at UWA and getting all those APIs into that platform. Now, they have fragmented Hololens and Xbox development from Windows. What they have effectively done is sideline hololens. Win32 components make zero sense on consoles. Bravo Microsoft, bravo you deserve mismanagers of the century award. I have no faith in Microsoft in investing more resources in Hololens in getting future devices to run Win32 code via ARM64EC. Given that they never invested much in UWA, Cortana, still do not want to re-hire the QA team + programmatic testers to prevent buggy cumulative updates effectively not investing in Windows as result we have massive W11 scheduling issues on ryzen. You really have to ask, what are they smoking over there?
  • If the Army is going to buy $22 billion in Hololens tech from MSFT, I think the Hololens ecosystem will enjoy significant development. Think how many third-party defense contractors will want to "expand" the utility of the Hololens platform. Think of all the tools mechanics in the services could use with the Hololens helping with schematics etc.
  • Yep definitely you will need UWP app
  • I doubt they are smoking anything. The fact is, MS makes less money now from Windows. It is free. Yes, businesses still pay for licensing and support. Which means Windows is more business centric than ever. Windows is also in decline. All of the important Microsoft apps are available everywhere. Windows, Mac, iOS and Android. 15 years ago, this would have been unthinkable. You no longer need Windows to run the latest Office. So, just how much money should MS invest in this old, archaic, dying platform? Businesses do not want big changes to Windows, and don’t give a crap about UWP. They just want their existing Win32 business apps to continue running. Period. The messaging is not mixed at all. It is crystal clear. The message is “Run our apps. Use our backend services. We don’t care what OS you are running. In fact, Azure is 70% Linux, we have an Android phone AND you can run Linux and Android apps on Windows. If Apple would let us, you could run iOS apps on Windows too.” As a business, MS is extremely pragmatic. They are not so interested in whatever is not making money (insert long list of failed/killed MS products here) and focus on things that ARE making money. Which is exactly what they should be doing. Thus, UWP is in the state it is today AND Microsoft is in the best financial position in its history today. Once you understand all of this, it all makes sense from a BUSINESS perspective. Windows - and Windows app development frameworks - are simply no longer a priority at MS. Because developers are no longer 100% focused on Windows. They also now have other priorities.
  • Hololens now uses OpenXR and considers WinRT viable only for legacy applications,
    https://docs.microsoft.com/en-us/windows/mixed-reality/develop/native/op... Likewise, XBox has released the GDK, where it explicitly mentions UWP is for community apps (similar to how XNA used to be) without any support. https://github.com/microsoft/GDK
  • That is why developing UWP app.
  • “The "is UWP dead" debate continues.” I didn’t realize there WAS a debate. It IS dead. Five years ago WC was saying “UWP is the future of Windows. Win32 can’t go away fast enough”. Of course, neither of those happened. The problem is that the days of MS saying “use this” and developers eagerly jumping on board are LONG gone. There are now much Greener Pastures out there for developers. Windows is now just A choice. No longer THE choice.
  • That depends how you look at it actually, yes in the world of online it is A choice. But we don't entirely live in that world. Bespoke Business Line Desktops aps are everywhere and these are almost always Win32. Businesses globally are still VERY bedded to Windows. No getting away from this.
  • Indeed, and most devs just went back into Forms and WPF, fed up with the rewrite cycle that started in Windows 8, 8.1, 10, and now AppSDK.
  • The migration is surely going to be a pain point, but the question remains, what exactly is the gain going to be? Is WinUI really going to be a panacea when it doesn't run in the browser - I mean - how is WinUI supposed to compete with Flutter?
  • Why would ANYONE want to compete with Flutter? It has a market share that is a rounding error in development technology jobs. Even Win32 is far far far ahead of Flutter. The job of WinUI is to fight with similar technologies like SwifUI and JetPack Compose and legacy technologies that they replace. And no they can't run in browser either, but are also ages ahead in the market share when compared to Flutter.
  • I'd such wish Microsoft could make Your Phone less buggy. It autocloses at least once a day, without fail. Just **** closes on you.
  • That is not a bug that is a feature. UWP apps are like phone apps and the operating system closes them if it needs memory for something else. This shouldn't happen if you don't minimize the app, so possibly that may be the solution for you.
  • > UWP still is the only way to build apps on HoloLens and Xbox platforms, and until that changes, it'll always be an option for developers if they're looking to build Windows apps. It may not be the best option, and it certainly won't be the platform with the most APIs and features for developers to take advantage of, but when was UWP ever? This is no longer the case, Microsoft is relatively quiet on this but both platforms have also moved into Win32. Hololens now uses OpenXR and considers WinRT viable only for legacy applications,
    https://docs.microsoft.com/en-us/windows/mixed-reality/develop/native/op... Likewise, XBox has released the GDK, where it explicitly mentions UWP is for community apps (similar to how XNA used to be) without any support. https://github.com/microsoft/GDK
  • Anyone know what will happen to UWP stuff like StorageFolder / StorageFile? Also not entirely sure but inking tools seems to be missing still from WinUI 3. Some info:
    * Here is the roadmap: https://github.com/microsoft/WindowsAppSDK/blob/main/docs/roadmap.md
    * From what I have read UWP supports 'only' up to WinUI 2 however since MS now (still) writes code for WinUI 2 first and ports that code over to WinUI 3 you could say UWP is still supported but will not receive new controls. I also read that it is likely UWP will be supported this way (as in still working on Windows) for years to come.
    * Apparently if you want to write PWAs you can also make use of native features this way (like notifications) through pwabuilder.com.
    * Some migration changes are just namespace changes (like migrating XAML code, excluding controls that are still missing in WinUI of course).
    * Xamarin will keep support for Android and iOS and UWP will be replaced by .NET Maui.
  • Inspired by Windows phones, I started learning WPF around 5 years ago as a hobby, but then had to switch to UWP. I have made a couple of UWP applications. But, now it seems I have to move to Windows App SDK. Just have a look at the list of technologies - .NET, .NET Standard, .NET Core, ASP.NET, SharePoint, Win32, Win Forms, WPF, WinUI2, WinUI3, UWP, Windows App SDK, XAMARIN - It's not easy being a Windows developer with so many reboots.
  • Yeah its quite convoluted. To be fair some of these use UWP (or now Windows App SDK) as a part like Xamarin. On one hand the switch to Windows App SDK makes it easier since it basically tries to merge strong points of UWP with that of Win32 (Forms/WPF) though sadly not every strong feature is yet ported or is planned to be ported. So I think I will personally wait with complete migration a few months till they have ported over more features.
  • All the information makes it crystal clear: it's dead.
    If there would not be any update in the future (except maybe security or bug fix), it just means it's dead.
    Any experienced developer will not choose it for any new important project, or will just temporary use it but fully prepared for the migration in near future.
    Don't say anything like "you can still". It's possibly true for the end users, but for developers, that "you can still" has limited time that really doesn't worth any trouble in the foreseeable future.
    Don't try to say there's any "debate" because want to save the face. It's done.
  • "The info and FAQ that Microsoft has published today details how an app developer can migrate their existing UWP app over to the Windows App SDK. It goes on to detail why an app developer would want to do this, citing that the Windows App SDK has access to features and APIs that UWP doesn't (and likely never will.)" 1 no one makes Win32 afternoon. That's simple reality of the situation
    2- Highlands is the future of computing keep making you UWP apps.