Microsoft has published a new document on GitHub to clarify the goals of ‘Project Reunion’ and what it consists of.
As ZDNet’s Mary Jo Foley reported recently, Project Reunion aims to unify Win32 and Universal Windows Platform (UWP) apps. The effort is an attempt to clean up problems created by Microsoft with ‘modern’ UWP apps on Windows 8 in its bid to compete with Apple’s iPad and figure out a strategy for apps on smartphones.
Customers saw legacy Win32 apps as being for “real work” while modern apps were considered dumbed-down, ZDNet’s Ed Bott notes
With Project Reunion, Microsoft has rolled up the Win32 API with the UWP API, so developers can add modern features like the Share panel to their desktop apps. The move follows Microsoft ditching its own Edge browser technology for Google’s Chromium in the new Edge, which is delivered via Windows Update.
The first Project Reunion components are the open-source WinUI 3 and WebView 2, which are, respectively, a modern, native UI framework for Windows 10, and a control for integrating web content into an app.
As noted by MSPoweruser, via Rafael Rivera, Microsoft has now added a clarification to its GitHub page for Project Reunion to explain what the project is and isn’t.
Among the components Microsoft has now added are the C++/WinRT, Rust/WinRT, and C#/WinRT libraries. Microsoft announced the public preview of the Rust Windows runtime library in May to make it easier for developers using Rust to Windows applications. It serves the same purpose as the Windows runtimes for code written in C++ and C#.
The other is MISX-Core, for developers to distribute applications to Windows PCs via the store or their own mechanism.
According to Microsoft, Project Reunion isn’t a new application model or platform from Windows. “There won’t be a ‘new Project Reunion App’ template for Visual Studio, VS Code, or other development environments,” it notes.
“You’ll still have full access to the Windows SDK and associated kits. Over time the features that Project Reunion provides will grow beyond just merging the existing Win32 and UWP models and provide additional functionality for all apps to use,” Microsoft says.
It’s not a new packaging or isolation model for applications, it isn’t a new security model for applications, and it isn’t for developers to run an app in the cloud.
“There won’t be required changes to your application to access Project Reunion functionality other than using the new functionality itself. If the APIs you use need identity or packaging, these requirements will be indicated,” Microsoft explains.
“Project Reunion isn’t a way to run your app in the cloud. Using Project Reunion technology will help get your app on modern API families that are cloud ready. Key components like modern lifecycle and state isolation help get your app ready to run wherever your customers are.”
Items Microsoft lists as “coming soon” include:
- Edge/Chromium backed WebView2 brings the ease of authoring your app in HTML+JS once and reusing it on all platforms. WebView2’s use of Project Reunion technologies like WinUI3 as a hosting frame lets you run modern web-based UX on all editions of Windows.
- Modern Lifecycle helpers help your app be power-sensitive and reactive to changes in the runtime system’s power management and user state. They also help your app restart after the user reboots, register your app so it can be restarted, and reduce update-related reboots.
- Startup Tasks make your app come alive as the user logs in to reconnect, start working while not overusing resources, or be ready for fast use. User-choice and power-management features let you reduce your impact on the critical logon path.
- Update Scan Integration help keep your app up to date automatically while running at the same time as other system maintenance tasks are happening.
- Access to user resources even from AppContainer and isolated applications. Your AppContainer apps can access powerful Win32 technologies like the clipboard, inter-process communication, and the Windows Shell Namespace with user consent through brokering.
- Modern Resource Tooling so you can use the power of ResX/ResW in your Win32 applications instead of MUI.