Windows App SDK (“Project Reunion”) tweaked ahead of v1.0 GA debut
Microsoft has delivered a second preview of the Windows App SDK (formerly known as Project Reunion) ahead of the v1.0 general availability release expected before the end of the year.
The company calls the Windows App SDK the evolution of Windows desktop application development. It is a unified set of libraries, frameworks, components, and tools that developers can use to consistently build any desktop application on operating system versions ranging from Windows 11 to Windows 10 version 1809. It was designed to alleviate the complexity of Windows application development that was caused by the emergence of two disparate sets of APIs: for the old Win32 platform and the new Windows platform Universal (UWP).
The Win32 API (used for what is often referred to as “classic Windows desktop development”) was the original C/C++ platform for native Windows applications, providing near-metal performance with direct access to system hardware. UWP, a “modern” approach to Windows development, provides a common type system, application model, and APIs for all Windows 10 devices. UWP effectively containerizes these applications with lower privilege levels and provided package identity through an MSIX installer. The Windows App SDK unifies these disparate sets of APIs by essentially decoupling them from the operating system and serving them through NuGet.
The second preview v1.0 shipped last week with few major new features as it heads towards general availability, which Microsoft says will arrive in Q4 2021. If it ships with .NET 6, it will probably be around November 9th. , during the launch of the Microsoft .NET Conf 2021 technical event.
Available components now include:
- WinUI: This is the native UI layer for Windows that embodies Fluent Design and delivers modern, high-performance, and polished user experiences to Win32 and UWP apps. This component is part of the Windows App SDK family of features, building on the transparent identity + packaging + deployment ideas that Windows App SDK also supports for apps.
- C++/WinRT, Rust/WinRT and C#/WinRT: These provide native projections of Windows language, Windows Application SDK, and custom types defined in metadata. Developers can use Windows Kit APIs, produce them for use with other supported projections, and create new language projections.
- MSIX-Core: This allows developers to create an app package for distribution to Windows desktops through the Store or individual distribution pipelines. MSIX-Core allows developers to reuse parts of MSIX packaging history on older versions of Windows.
Possible upcoming features include an Edge/Chromium-backed WebView2, modern lifecycle wizards, startup tasks, and more.
The following graphic of the project roadmap shows the features that shipped with v8.0 in June, those expected in v1.0, and those planned afterward.
As noted, v1.0 moves several features from “experimental” and “unsupported” to “supported” status in packaged (MSIX) and unpackaged desktop application projects.
In the new Preview 2, the functionality around these features is progressing mostly in small steps. For the crucial WinUI 3 component, for example, the only new updates are:
- Controls have been updated to reflect the latest WinUI 2.6 Windows styles.
- Single MSIX project is supported.
- The WinUI package can now target version 17763 and above.
- The in-app toolbar is supported. However, the in-app toolbar and existing Hot Reload/Live Visual Tree support requires the next release of Visual Studio 17.0 Preview 5, available later in October.
the Preview broadcast channel for the Windows App SDK also lists new features and bug fixes related to windowing, typing, core MRT, unpackaged app deployment, app lifecycle, and more.
Microsoft warns that preview channel merchandise should not be used for production.