Bugs Fixed as Project Reunion v0.8 Nears Stability in New Release Candidate

The Project Reunion dev team fixed a bunch of bugs in the new v0.8 RC as Microsoft's evolution of the Windows desktop app development platform nears stability.

Microsoft says Project Reunion "provides a unified set of APIs and tools that can be used in a consistent way by any desktop app on a broad set of target Windows 10 OS versions" in order to simplify the development of Windows desktop applications.

Earlier this year, in discussing a v0.5 preview, Microsoft's Thomas Fennel explained the reason for the new tooling: "We have heard that Windows development is hard. It's harder than it should be. It's harder than it needs to be."

Project Reunion
[Click on image for larger view.] Project Reunion (source: Microsoft).

Thus Project Reunion seeks to lessen that difficulty by bridging two disparate Windows desktop development schemes: Win32 and Universal Windows Platform (UWP) (see graphic above). The Win32 API (used for what is often called "classic Windows desktop development") was the original C/C++ platform for native Windows apps, providing close-to-the-metal performance with direct access to system hardware. UWP, a "modern" take on Windows development, provides a common type system and application model and APIs for all Windows 10 devices. UWP effectively containerizes these apps with lower privilege levels and package identity delivered via an MSIX installer.

Project Reunion lifts those two sets of APIs out of Windows, decoupling them from the OS and transferring their underlying functionality into a Reunion SDK, available via NuGet.

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

Version 0.5 shipped in March, with new desktop tooling including WinUI 3, which uses Fluent Design to provide a native user experience (UX) framework for both Windows Desktop (Win32) and UWP applications (see graphic above). "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."

Project Reunion Roadmap
[Click on image for larger view.] Project Reunion Roadmap (source: Microsoft).

Project Reunion is expected in the fourth quarter, as the graphic depicting the roadmap shows.

As noted the new v0.8 RC mostly fixes bugs, including those fixed in subsequent v0.5 versions as well as brand-new bugs such as:

  • Mouse right-click in TextBox crashes the application
  • NavigationView causes crash in UWP, Reunion 0.5 Preview
  • ProgressBar doesn't show difference between Paused and Error option
  • Crash in RichEditBox when copying/pasting/changing text style
  • Window caption buttons are misplaced when SetTitleBar is not set or null

Other nitty-gritty highlights of the RC include:

  • The Pivot control has been added back in and can now be used in any WinUI 3 app.
  • The ColorHelper.ToDisplayName API is no longer available.
  • The following types have been removed (with developers advised to use Windows.Graphics.IGeometrySource2D and Windows.Graphics.IGeometrySource2DInterop instead):
    • Microsoft.Graphics.IGeometrySource2D
    • Microsoft.Graphics.IGeometrySource2DInterop
  • All types in the Microsoft.System namespace have been moved to the Microsoft.UI.Dispatching namespace, including the DispatcherQueue class.
  • The AcrylicBrush.BackgroundSource property has been removed, since HostBackdrop is not supported as a BackgroundSource in WinUI 3.

Also, the experimental features introduced in earlier v0.8 previews have been stripped out of the RC, though they can still be used in those prior versions. And the RC isn't available via NuGet -- it has to side-loaded.

GitHub guidance explains all of the above and more in greater detail, along with WinUI 3-specific known issues, upgrade instructions and a link to getting started instructions.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus


Subscribe on YouTube