News

Project Reunion 0.5 Ships with WinUI 3 Desktop Dev Tooling

Microsoft shipped a production-ready Project Reunion 0.5, which for the first time contains tooling for WinUI 3 desktop applications that are forward-compatible with future releases.

To sort out these emerging schemes that are among a cluttered field of desktop dev options, here are brief descriptions:

  • Project Reunion is meant to address difficulty in Windows desktop app development in part by bridging two disparate Windows desktop development schemes that have arisen: Win32 and Universal Windows Platform (UWP).
    Project Reunion
    [Click on image for larger view.] Project Reunion (source: Microsoft).

    The project's GitHub site says: "Project Reunion empowers all Windows apps (not just UWP/MSIX) with modern Windows UI, APIs and platform features, including back-compat support, shipped via NuGet."

    Microsoft earlier this month shipped a v0.5 preview, at which time the company's Thomas Fennel said, "Windows development is hard" in explaining its reasoning. He said that in talking to enterprise customers, "we have heard that Windows development is hard. It's harder than it should be. It's harder than it needs to be."

    Microsoft is addressing that difficulty in part with the Project Reunion extension in the Visual Studio Marketplace.

  • WinUI 3 is a Project Reunion component that uses Fluent Design to provide a native user experience (UX) framework for both Windows Desktop (Win32) and UWP applications.
    WinUI 3
    [Click on image for larger view.] WinUI 3 (source: Microsoft).

    "It provides a way to gradually migrate existing apps written in familiar technologies like MFC, WinForms, and WPF, allowing you to move these applications forward at your own pace," the WinUI site states. "It also supports familiar languages spanning C++, C#, Visual Basic, and even Javascript via React Native for Windows."

The new production-ready Project Reunion v0.5 release comes with ability to create desktop apps with WinUI 3, including using .NET 5 for Win32 apps.

In "Announcing Project Reunion 0.5" on March 29, Microsoft's Andrew Clinick noted that, in addition to the above functionality, it gives developers earlier access to new Windows technologies and features because they are now decoupled from the OS. Previously, he said, developers might have to wait a year or two for an OS update to put new goodies to use in applications.

Other new features in the production-ready release that differ from the preview include:

  • Chromium-based WebView2 control (for embedding web content into Windows apps using the engine that now powers the company's Edge browser)
  • Custom titlebar support
  • ARM64 support
  • SwapChainPanel

Clinick said the release also now provides full support for these features introduced in an earlier preview:

  • MRTCore, which streamlines the Windows Resource Management System used to index all app resource variants at build time and then detect user and machine settings at run time to load the resources to fit those settings
  • DWrite Core, a customized version of DirectWrite, used to support high-quality text rendering in modern applications

"The features we are releasing today ship as part of the Project Reunion framework package," Clinick said. "You can think of this framework package as how we bring together all the parts of the Project Reunion family -- like WinUI 3 for example, which is not directly in the Project Reunion GitHub repo -- into one place for developers to use seamlessly."

As far as WinUI 3, he said the version included with Project Reunion is the first to support production apps that are forward-compatible, including desktop apps for the Microsoft Store. That's done in two different ways:

  • Creating a brand-new WinUI 3 Desktop app from scratch
  • Migrating existing Desktop apps to WinUI 3 by adding a new WinUI 3 project to your solution, and adjusting or refactoring your logic

However, some of the brand-new goodies introduced in a preview won't be available when using the stable version, though they are still available in the preview VSIX package. Developers also need to use Visual Studio previews for full WinUI 3 functionality. VS 2019 16.8 can't be used at all, and VS 2019 v16.9 doesn't support Hot Reload, Live Visual Tree or Live Property Explorer.

Here's the WinUI 3 feature roadmap:

WinUI 3 Release Roadmap
[Click on image for larger view.] WinUI 3 Release Roadmap (source: Microsoft).

As for what's coming up for Project Reunion, features planned for this year include:

  • 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 (unpackaged desktop apps include WPF, WinForms, Win32 or console, not using the MSIX app package format)
  • Preview and stable releases for Project Reunion v0.8 and v1.0

These graphics show how Project Reunion supports packaged and unpackaged apps:

Packaged App Support
[Click on image for larger view.] Packaged App Support (source: Microsoft).
Unackaged App Support
[Click on image for larger view.] Unpackaged App Support (source: Microsoft).

To get started with Project Reunion, a good place to go is "Get started with Project Reunion."

Note that many third-party dev tooling vendors are onboard the Project Reunion bandwagon with current or planned support, including Actipro Software, DevExpress, GrapeCity, Infragistics, Syncfusion, Telerik UI for WinUI, Uno Platform and the .NET Foundation's open source Windows Community Toolkit. The announcement post provides more details on their ecosystem support efforts.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Mastering Blazor Authentication and Authorization

    At the Visual Studio Live! @ Microsoft HQ developer conference set for August, Rockford Lhotka will explain the ins and outs of authentication across Blazor Server, WebAssembly, and .NET MAUI Hybrid apps, and show how to use identity and claims to customize application behavior through fine-grained authorization.

  • Linear Support Vector Regression from Scratch Using C# with Evolutionary Training

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the linear support vector regression (linear SVR) technique, where the goal is to predict a single numeric value. A linear SVR model uses an unusual error/loss function and cannot be trained using standard simple techniques, and so evolutionary optimization training is used.

  • Low-Code Report Says AI Will Enhance, Not Replace DIY Dev Tools

    Along with replacing software developers and possibly killing humanity, advanced AI is seen by many as a death knell for the do-it-yourself, low-code/no-code tooling industry, but a new report belies that notion.

  • Vibe Coding with Latest Visual Studio Preview

    Microsoft's latest Visual Studio preview facilitates "vibe coding," where developers mainly use GitHub Copilot AI to do all the programming in accordance with spoken or typed instructions.

  • Steve Sanderson Previews AI App Dev: Small Models, Agents and a Blazor Voice Assistant

    Blazor creator Steve Sanderson presented a keynote at the recent NDC London 2025 conference where he previewed the future of .NET application development with smaller AI models and autonomous agents, along with showcasing a new Blazor voice assistant project demonstrating cutting-edge functionality.

Subscribe on YouTube