Microsoft announced today that Project Reunion 0.5 is now available with a focus on making it easier to create modern Windows desktop applications. As you may recall, Project Reunion is an attempt by Microsoft to separate platform features from the Windows release schedule and make them available across multiple Windows 10 versions.
“In 0.5, our focus is very much on what we’ve heard from our developer community around making Desktop apps easy to build again,” Microsoft’s Andrew Clinick writes in the announcement post. “That’s why you’ll find down–level support to Windows 10 version 1809, the ability to use Project Reunion with a .NET 5 app, as well as WinUI 3 and WebView2 for modern, compatible UI development, all with production-level support when using packaged apps.”
Clinick notes that Microsoft still expects to ship Project Reunion 1.0 by the end of 2021, but based on the many delays we’ve already experienced, I’m wondering if that’s realistic. Future updates will include new features like app lifecycle for improved system performance and battery life, a modern windowing system that combines “the power of Win32 windowing with the ease of UWP,” notifications support for both local and push scenarios, unpackaged app support, and more.
For now, Project Reunion 0.5 ships with fully supported MRTCore and DWriteCore components, the production version of WinUI 3 for desktop apps, and WebView2. It supports packaged apps—meaning, apps that are distributed with MSIX—but support for unpackaged apps will come in a future update. But the big deal here, of course, is WinUI 3.
“The version of WinUI 3 that’s shipping with this release is the first version that’s suitable for production apps and is forward-compatible,” Clinick explains. “With WinUI 3, you can now build desktop apps that can be published to the Microsoft Store. There are currently two supported methods for creating a WinUI 3 app: Creating a brand new WinUI 3 Desktop app from scratch [and] migrating your existing desktop apps to WinUI 3 by adding a new WinUI 3 project to your solution, and adjusting or refactoring your logic.”