Microsoft has launched version 0.5 of Project Reunion, an initiative to provide developers with a unified set of APIs to cover both traditional Win32 desktop applications and Universal Windows Platform (UWP) applications that run on Windows 10.
Project Reunion offers a unified set of APIs and tools designed to be used consistently by any desktop application across a wide range of target versions of the Windows 10 operating system. Version 0.5 is the first release “production-ready,” Microsoft said, and plans to roll out version 0.8 in the coming months and official version 1.0 later in the year.
The problem Project Reunion aims to solve is that developers building Windows desktop apps have to choose between multiple app platforms and frameworks, and some features and APIs are only supported on specific frameworks. This is a legacy of the introduction of the UWP framework in Windows 10, which Microsoft intended to replace older Win32 APIs. However, developers were reluctant to adopt a framework that meant apps would only run on Windows 10, and although older versions of Windows have now been retired, the problem persists.
Project Reunion attempts to get around this problem by providing a set of Windows APIs with implementations decoupled from the operating system itself. It provides an extension for Visual Studio 2019 that includes project templates configured to use Project Reunion components in new development projects.
These components include Windows UI Library (WinUI) 3, the next generation of the Windows user experience (UX) platform for Windows apps; MRT Core, a simplified version of the modern Windows resource management system; and DWriteCore, which provides a device-independent layout system for rendering text.
Other technologies will be added to Project Reunion this year, such as App Lifecycle to improve system performance and battery life; a modern windowing system that combines Win32 windowing with the ease of UWP, notification support for local and push scenarios, and more.
Over time, Microsoft says it plans to invest more in Project Reunion, which will further break down the distinctions between different app models. Project Reunion will include both WinRT APIs and native C APIs, for example.