News

Project Reunion Update Leads Windows Dev News at Build 2021

Project Reunion 0.8 was announced during this week's Microsoft Build 2021 developer conference, leading a raft of win-dev news items.

Project Reunion came about because "Windows development is hard," Microsoft's Thomas Fennel said earlier this year when v0.5 shipped. 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."

The difficulty has to do with varied Windows versions that complicate the rollout of enterprise apps with new features, along with the need to accommodate older "down-level" Windows versions.

The idea behind Project Reunion is to alleviate that difficulty, in part by bridging two disparate Windows desktop development schemes that have arisen: Win32 and Universal Windows Platform (UWP). 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. The later advent of UWP resulted in another set of APIs. Project Reunion aims to lift those two sets of APIs out of Windows, decoupling them from the OS and transferring their underlying functionality into a Reunion SDK, served up by NuGet.

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

In announcing the v0.8 preview this week, Microsoft didn't provide specific technical details on any new features or functionality, though the project's roadmap indicates app lifecyle and power state notifications are now supported in preview for packaged (MSIX) desktop apps. Full support for those and other features, including windowing, is coming in the v1.0 release in the fourth quarter of this year -- possibly during the .NET Conf 2021 event in November when .NET 6 will debut. For unpackaged apps (WPF, WinForms, Win32 or console, not using MSIX), v0.8 also adds preview support for text rendering and localization.

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

"When you build an app that uses Project Reunion, you get access to: coherent and modern interactions and UX with WinUI 3, great system performance and battery life, an experience optimized for the device hardware, and hassle-free app discovery and management," Microsoft said in a May 25 blog post listing the Windows development news items. "It's all built on top of existing Desktop (aka Win32) features available to adopt incrementally at a much faster pace since they are decoupled from the Windows OS."

Some other desktop dev announcements concerned:

  • Windows Terminal 1.9 Preview: New functionality here includes:
    • Quake Mode, which lets developers open new terminal windows with a keyboard shortcut.
    • A new settings UI enabling developers to edit settings without using a JSON file.
    • The ability to set a default terminal emulator to Windows Terminal inside Windows, such that any command-line application will automatically launch inside the terminal instead of the traditional experience where they always opened in the original console.

    More on this is available in a separate blog post.

  • Windows Package Manager 1.0: This enables installing upgrading, and importing packages on Windows 10.
    Windows Package Manager 1.0
    [Click on image for larger view.] Windows Package Manager 1.0 (source: Microsoft).
  • Expanded Windows Subsystem for Linux (WSL) support: AI training and WSLg: This expanded support includes:
    • The ability to leverage a machine's GPU on Windows, letting developers run Linux AI and machine learning scenarios directly inside of WSL.
    • Support for Linux GUI apps in WSL, enabling developers to run their favorite Linux editors, tools, utilities and applications. "This will greatly improve your ability to build, test, debug and run Linux applications," Microsoft said.
  • A Snapdragon Developer Kit: This comes from Qualcomm Technologies, with help from Microsoft, to support power-efficient mobile processors on Arm-based PCs. More details about this are available here.
  • Azure Communication Services Calling SDK for Windows apps: Available in preview, this streamlines the publishing of apps on Windows devices with UWP support. Voice and video calling capabilities can be added to native applications that run on Microsoft Windows, improving the communication experiences for desktop PC, Xbox, mixed-reality headset, HoloLens, IoT devices and more.

"These updates will allow developers to optimize their workflow or incorporate new functionality into their applications, enhancing the experience for the end user and creating a better product overall," Microsoft said. "The further development of Project Reunion is definitely something Windows Developers should be closely watching, allowing developers to unify their development process and modernize previously developed applications without programming."

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube