Skip to main content

Microsoft's Project Reunion aims to streamline Win32 and UWP app development on Windows 10

Windows apps
Windows apps (Image credit: Windows Central)

What you need to know

  • Project Reunion combines Win32 and UWP app development.
  • It provides a common API platform for new and existing apps.
  • Any apps on Windows 10 are now just "Windows apps."

Microsoft is closing the gap between Win32 and UWP app development with Project Reunion, an effort to componentize the Windows API and UWP API so developers can modernize and build apps that work across all versions of Windows 10. In the past, app development on Windows 10 has been clear cut with two options; a classic Win32 app using the Windows API, or a modern universal app with UWP APIs. With Project Reunion, all apps are just "Windows apps."

The Redmond-giant has been pushing this idea since Build 2019 but is now formalizing the movement with Project Reunion. The company says this new effort will streamline app development across supported versions of Windows 10.

For the past couple of years, we have been breaking down the barrier between Win32 (also called the Windows API) and Universal Windows Platform (UWP) APIs. Project Reunion expands this effort to make it easier to build a great Windows app. It will unify access to existing Win32 and UWP APIs and make them available decoupled from the OS, via tools like NuGet. This will provide a common platform for new apps. Plus, it will help you update and modernize your existing apps with the latest functionality, whether they're C++, .NET (including WPF, Windows Forms, and UWP) or React Native. As we decouple existing APIs and add new APIs, we are also doing the work to polyfill, as needed, so the APIs work down-level across supported versions of Windows.

Project Reunion is an evolution of the Windows developer platform that will make it more agile, modern, and open. Projects like WinUI 3 and WebView2 are already part of the Project Reunion journey, allowing developers to take advantage of new, modern APIs on either UWP or Win32 built applications.

In layman's terms, Project Reunion makes it so developers can build apps that have the latest OS features without having to worry about older versions of Windows 10. Developers can compile the newest APIs directly into their apps instead of depending on the OS itself to have them.

Microsoft is pushing the idea that there's no such thing as a Win32 or UWP app, and that everything that runs on Windows 10 is just a "Windows app." The idea is that it doesn't matter which framework developers use, as long they use APIs that are native to Windows. In the future, users shouldn't be able to tell the different between a Win32 or UWP app. If it runs on Windows, it's just a Windows app.

The effort will streamline how developers modernize existing apps and create new ones by reducing fragmentation between the Windows API and Universal Windows Platform. It will provide a common, backward compatible platform for existing code and for the latest client platform innovations.

It's going to be interesting to see if Project Reunion helps bring legacy Win32 programs forward with more modern interfaces and features unique to Windows 10. Microsoft would like all legacy apps to take advantage of efforts such as WinUI 3, and Project Reunion should help push that forward. What are your thoughts on Project Reunion? Let us know in the comments.

Zac Bowden
Zac Bowden

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.

34 Comments
  • I wonder what this means for Windows on Arm and emulation. if all apps are windows apps now, do they all run natively? how can they be updated? Also, UWPs launch faster and are a lot more battery efficient than Win32 apps. Does this mean that all windows apps will launch as fast as UWPs? I'm not a developer, just a user, but it's pretty easy to tell when an app is UWP and when it's win32 even if both were downloaded from the store. I really wonder if this means I won't be able to tell the difference and all win32 apps will have the same advantages that UWPs have.
  • ARM is a part of this and supported. This is more about new APIs and tools going forward that are neutral regarding the underlying codebase e.g. win32 , UWP. Doesn't matter if ARM or x86. And we already know x64 support is being worked on for ARM64.
    "I really wonder if this means I won't be able to tell the difference and all win32 apps will have the same advantages that UWPs have."
    That's one way to think of it. The lines between Win32/UWP are going away. That's the whole idea for Fluent, which is not just UWP, but Win32 too (see what's coming to Office).
  • I have the same question. Will it still require emulation? If so, count me out.
  • How will this work in Windows 10X. The way I understand apps run on Windows 10X is that UWP apps will run in the native container and Win32 apps will run in the Win32 container. Will this still hold true? I also understand there was some questions about which container hybrid apps (Win32 apps with UWP features) run. With Reunion, will that solves this question by running hybrid apps in the Win32 container?
  • The distinction between UWP and Win32 begins to go away with Reunion, but my guess with 10X is there will be another container that runs Reunion APIs. Will have to find out later. Pure Win32/UWP containers still holds true for those apps. Edit: Microsoft has confirmed Reunion apps/libraries can run in a container but are not required to do so.
  • > Also, UWPs launch faster and are a lot more battery efficient than Win32 apps. Hm... modern Remote Resktop Client takes about 30 seconds to launch (provided that you have sizeable number of stored configurations). Its WIN32 counterpart does not exhibit that problem... what am I missing here? And yes, it was duly reported to Microsoft, thank you for asking.
  • That's because UWP are paper thin. They bomb out easily than win32. Especially on low memory devices. Good example is the amazon app, won't launch on a 950xl but run fine on PC. Where a uwp app thinks its better than a mobile app, like remote desktop and dare I say windows central app, it fails to load on a higher spec because it hasn't been proven for complex tasks outside of mundane mobile.
    .
    UWP is not resilient, MS made the mistake of allowing the close button to kill the app even while in command, error message or dialog box is active. Win32 (even Win16) won't shutdown while a dialog box is open, that's one of the things that make them robust. Fact that Teams couldn't be a UWP is an indication of this and the reason why things like groove can't become media center applications and run in an unprotected environment to access boot records and bios.
  • I run Groove just fine in an "unprotected" environment.
  • This article is confusing to non-devs. To an end user, nothing is changing. Use the apps you use and enjoy the quality this change may bring. There is still win32 and still UWP, nothing changes there. This change only brings technology from both to each other. win32 apps, even built in project reunion, are still win32 apps, and thus still emulated in Windows 10 X. As long as we still have desktop OS and managed OS (like iOS and Windows Core OS), there will always be managed apps(UWP, Web) and unmanaged apps(win32).
  • Right on. Couldn't have said better.
  • Woohoo, go Microsoft - keep making these ****** decisions, keep clinging to the past, keep dragging the 30+ year old platform, keep making the ****-stew Frankenstein platform - that's what everyone's asking for. I bet this time it's just gonna work - I mean it just has to.
  • I'm enjoying how the non-devs are chiming in on this with 'hot takes' about what works and what doesn't for Windows. From Microsoft:
    "For the past couple of years, we have been breaking down the barrier between Win32 (also called the Windows API) and Universal Windows Platform (UWP) APIs. Project Reunion expands this effort to make it easier to build a great Windows app. It will unify access to existing Win32 and UWP APIs and make them available decoupled from the OS, via tools like NuGet. This will provide a common platform for new apps. Plus, it will help you update and modernize your existing apps with the latest functionality, whether they’re C++, .NET (including WPF, Windows Forms, and UWP) or React Native. As we decouple existing APIs and add new APIs, we are also doing the work to polyfill, as needed, so the APIs work down-level across supported versions of Windows."
    Do you know what WinUI 3 and WebView2 even do? Or how Microsoft has been merging APIs for both UWP and Win32 for the last few years? This isn't new, it's just formalized.
  • > I'm enjoying how the non-devs are chiming in on this Yeah... non-devs (yourself included) do love to chime in on these subjects.
  • He's not a dev but this is at least his job and it means he actually had to research this stuff to write about it, unlike a random commenter.
  • Did it occur to you that "random commenter 's" job just might be software development... not that I know that about OP one way or another. Not that I agree with OP, mind you -- it is just my opinion that site writers should stick to the civil tone, even if commenters don't. As you have said -- that's their job.
  • anything to improve the Microsoft Store and the ecosystem of apps is a win for consumers
  • So are we headed to consumers now? :)
  • 30+ year old platform.. Not really. About as far back as Windows NT 4.0. That's 25 years.
  • I desperately hope this works
  • It's been happening for the last two years; it just has a name now and a more formal roadmap. If you know what WinUI 3 and WebView2 are this isn't a bombshell.
  • I did some research on those technologies, and I'm super excited for this!! I can't wait to get started!
    (Also thank you for replying to my comment, that made my day)
  • Very nice. Maybe this will incentivize some Win32 app developers to add new "modern" features to their legacy apps. One that I would definitely like to see is background suspension (like on UWP apps where you minimize the window and a leaf appears next to it on the Task Manager, indicating that it is "sleeping" and not consuming CPU cycles). That would be great for mobile use cases.
  • "Maybe this will incentivize some Win32 app developers to add new "modern" features to their legacy apps. "
    That's exactly it, a way to make it easier including adding Fluent.
  • Microsoft just introduced Segment Heap for Win32 apps in the May 2020 update. For now, only Microsoft is using it, with Edge Chromium, but they'll release documentation for developers, hopefully this year.
  • Does this mean Microsoft's own apps will get features for desktop users? Drag and drop, system tray support? Photo app will have a usable UI? Mail app will catch up to Outlook Express 6.0? Settings will finally get grids and columns?
  • Big Question with this is what, if anything, does it mean for the Windows Store?
  • Nothing I would think? You can already install apps that aren't purely UWP, so what would this change about the store?
  • I guess I'm just hoping that the Store gets some love. It still rubs me the wrong way when I have to download an install from a "random" website instead of using the Store. And what really kills me is when that "random" site is from Microsoft. :(
  • Just a user but does this mean fluent design is coming to win32 apps?
  • This mean Fluent Design is available to win32 developers, they decide if they make is happen. Mostly likely won't see a lot of it soon, it's a long game, like 5 to 10 years long.
  • All along, many win32 developers look down on future of UWP.. With project Réunion.. There is no more line... Win32 developers immediately become windows app developers... Next to people who used to develop UWP No more line... Means no more segregation... No more discrimination.. No more reasons... to complain... We are all now one big family. Old and new. Winform the largest user base... Is now windows app... so as the always discriminated UWP. minority... I wish the world operates this way.. In society. 😉😊😳
  • I just wanna know one thing. When will I be able to check the Windows Store and just download the utilities I normally use, so they automatically update instead of relying on me opening them to check for updates? I'd love to just go to the Store and download WinRAR, Handbrake and all that stuff's updates in one click.
  • That will likely never happen as it first of all depends on the devs to upload a store version of the app. A lot of those app devs are not actively making new features anymore. This is probably possible for winget tho, since it's repository based so it does not need a dev account and complex legal stuff to be on it.
  • Here's Ed Bott's recent take on "Project Reunion" on ZDNet:
    https://www.zdnet.com/article/project-reunion-microsofts-unified-app-str...