Windows App SDK ('Project Reunion') Hits Version 1.0

Microsoft's Windows App SDK 1.0 Stable release is live, unifying access to Windows APIs for desktop Windows 10/11 apps in a new scheme that was formerly called "Project Reunion."

The "reunion" seeks to unify two Windows app development API approaches that resulted from the debut of the Universal Windows Platform (UWP), which came with APIs different from those in the older Win32 platform, used for what is often called "classic Windows desktop development." It 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. The Windows App SDK unifies these disparate API sets by basically decoupling them from the OS and serving them up via NuGet, because Microsoft eventually decided "Windows development is hard" with the bifurcated API scheme.

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

"The Windows App SDK does not replace the Windows SDK or existing desktop Windows app types such as .NET (including Windows Forms and WPF) and desktop Win32 with C++," Microsoft says. "Instead, the Windows App SDK complements these existing tools and app types with a common set of APIs that developers can rely on across these platforms."

In updated Nov. 16 documentation (following the v1.0 milestone) the company says it plans to invest in the Windows App SDK in order to remove more distinctions between disparate app models, noting that the SDK will include both WinRT APIs and native C APIs.

Microsoft shipped a second preview of Windows App SDK last month, listing these components:

  • WinUI: This is the native UI layer for Windows that embodies Fluent Design and delivers modern, performant and polished user experiences to both Win32 and UWP apps. This component is part of the Windows App SDK Family of functionality, building on the identity + packaging + deployment transparent ideas that Windows App SDK supports for apps as well.
  • C++/WinRT, Rust/WinRT and C#/WinRT: These provide language-native projections of Windows, Windows App SDK and custom types defined in metadata. Developers can consume APIs from the Windows Kit, produce them for use by other supported projections and create new language projections.
  • MSIX-Core: This lets developers package an application for distribution to Windows Desktop machines via the store or individual delivery pipelines. MSIX-Core lets developers reuse parts of the MSIX packaging story on older versions of Windows.

Updated documentation shows the project currently sports these features;

Windows App SDK Features
[Click on image for larger view.] Windows App SDK Features (source: Microsoft).

Although the company has been marking the progress of Windows App SDK in developer blog posts, the v1.0 milestone was announced yesterday (Nov. 16) with a simple tweet from Microsoft's Kevin Galloway:

The Announcement
[Click on image for larger view.] The Announcement (source: Microsoft).

Comments to the tweet noted that the SDK officially supports the new .NET 6, but is still incomplete in some areas, including multi-window support:

Multi-Window Support
[Click on image for larger view.] Multi-Window Support (source: Microsoft).

Indeed, the project's new roadmap shows multiple window support is planned for v1.1 in the second quarter of 2022, along with elevated (admin) support, push notifications for non-Store apps, local toast notifications and more:

The New Roadmap
[Click on image for larger view.] The New Roadmap (source: Microsoft).

The project's GitHub repo basically shows the same things in the old roadmap style:

The GitHub Roadmap
[Click on image for larger view.] The GitHub Roadmap (source: Microsoft).

"The Windows App SDK provides a broad set of Windows APIs with implementations that are decoupled from the OS and released to developers via NuGet packages," Microsoft said. "The Windows App SDK is not meant to replace the Windows SDK. The Windows SDK will continue to work as is, and there are many core components of Windows that will continue to evolve via APIs that are delivered via OS and Windows SDK releases. Developers are encouraged to adopt the Windows App SDK at their own pace."

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus


Subscribe on YouTube