News

Windows App SDK ('Project Reunion') Polished Ahead of v1.0 GA Debut

Microsoft shipped a second preview of the Windows App SDK (formerly called Project Reunion) ahead of the v1.0 general availability release expected before year's end.

The company calls the Windows App SDK the evolution of Windows desktop app development. It's a unified set of of libraries, frameworks, components and tools that developers can use to consistently create any desktop app on OS versions ranging from Windows 11 down to Windows 10 version 1809. It was designed to alleviate the complexity of Windows app development that was caused by the emergence of two disparate sets of APIs: for the older Win32 platform and the newer 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. 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.

The second v1.0 preview shipped last week with little in the way of big new features as it heads for general availability, which Microsoft says will come in Q4 2021. If it ships with .NET 6, that will likely be around Nov. 9, when the Microsoft .NET Conf 2021 tech event kicks off.

Components available now include:

  • 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.

Possible features coming up include an Edge/Chromium backed WebView2, modern Lifecycle helpers, Startup Tasks and much more.

The following graphic from the project's roadmap shows the features that shipped with v8.0 in June, those expected in v1.0 and those planned for afterward.

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

As shown, v1.0 graduates several features from "experimental" and "not supported" statuses to "supported" in both packaged (MSIX) and unpackaged desktop app projects.

In the new Preview 2, functionality around these features mostly advances in small steps. For the crucial WinUI 3 component, for example, the only new updates are:

  • Controls have been updated to reflect the latest Windows styles from WinUI 2.6.
  • Single-project MSIX is supported.
  • WinUI package can now target build 17763 and above.
  • In-app toolbar is supported. However, the in-app toolbar and existing Hot Reload/Live Visual Tree support require the upcoming Visual Studio 17.0 Preview 5 release, available later in October.

The Preview release channel for the Windows App SDK also lists new features and bug fixes related to windowing, input, MRT Core, deployment for unpackaged apps, App Lifecycle and more.

Microsoft warns that wares in the Preview channel shouldn't be used for production.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus

Featured

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

  • .NET 9 Preview 3: 'I've Been Waiting 9 Years for This API!'

    Microsoft's third preview of .NET 9 sees a lot of minor tweaks and fixes with no earth-shaking new functionality, but little things can be important to individual developers.

  • Data Anomaly Detection Using a Neural Autoencoder with C#

    Dr. James McCaffrey of Microsoft Research tackles the process of examining a set of source data to find data items that are different in some way from the majority of the source items.

Subscribe on YouTube