Windows Application SDK released, developers are trying to figure it out • The Register
Microsoft released the Windows App SDK 1.0 earlier this month, the first full version of âProject Reunion,â but there is some confusion as to what it is and if developers need it.
The release of Windows Application SDK has been associated with the arrival of .NET 6.0, a long-term version of Microsoft’s application platform, but it is not exclusively a .NET API. What is it then?
Unfortunately, the answer is complex, which is why Microsoft has struggled to articulate it. The best effort is this GitHub post which describes it as a combination of new APIs with converged APIs that can wrap both Win32 and WinRT – where Win32 is the original, low-level Windows API, and WinRT is the modern binary interface introduced for Windows 8.
At one point, WinRT and then UWP (Universal Windows Platform) were supposed to be the future of Windows development, but it didn’t work, leaving Microsoft to put together what it forced to separate, hence “Project meeting”.
WinUI 3, Microsoft’s latest GUI framework, is a component of the Windows Application SDK, but it doesn’t have to be used.
One way to think of it is that WinUI 3 is the UWP user interface detached from the UWP application model, the twist being that UWP cannot use WinUI 3 and therefore will gradually fall behind. WinUI 3 requires a recent version of Windows, especially Windows 10 version 1809 (October 2018) or later.
Unsurprisingly, the first WinUI 3 is not complete. One notable omission is the support for multiple windows, which leads to issues such as this one: “When I try to create a new window other than MainWindow, it throws an exception from KernelBase.” The response: “Unfortunately, support for several Windows was not completed in time to be included in version 1.0.”
Other features underway in Q2 2022 are elevation support (run as a local admin) and toast notifications.
Microsoft explains that developers can gradually migrate to the Windows Application SDK. âYou’ll start using these APIs by adding a reference to the NuGet Windows App SDK package and then adding uses of the APIs in your application code. Use as much or as little of the Windows App SDK as your app helps your app, âthe team said.
It is also not necessary to use the Windows Store or the MSIX package. The App SDK works with packaged and non-packaged applications.
Some developers have struggled with all of these accolades. “I see I can create a new ‘WinUI 3 in Desktop’ application. If I do this, the resulting file contains XAML with a project structure that looks a bit like UWP or WPF XAML. Is it a WinUI 3 application or a Windows Application SDK app? ” noted a developer, admitting to having “royally confused rights”.
Ben Kuhn, head of software engineering at Microsoft, responded that such an application would be both, although an application could also use the Application SDK without WinUI 3.
A “Ask me anything” session with the App SDK team on Reddit has proven to be enlightening. Why is a UWP-style user interface slow? âPerformance will be an area of ââfocus for us in 2022,â the team said, although âmost of the UI elements are already rendered fairly quicklyâ.
It was noted, however, by another developer that “UWP XAML is actually very fast, but it looks like performance was completely rejected by windows with WinUI 3 when pulled from the OS composer. “- referring to how WinUI 3 has been decoupled from the operating system.
Where are the XAML islands, the ability to use WinUI 3 in an application built with another GUI framework? “It’s probably a global journey of over 2 years,” the team confessed, saying the work to implement this “will continue through (sic) 2022 and into 2023”.
Why is WinUI 3 not open source as originally promised? “A very fair question,” said Ryan Demopoulos, Microsoft program manager. âOpen source retroactive to a code base of over 3 million lines, which includes resolving thousands of private API calls, was more difficult than we thought. “
This is still expected, he hinted, but at the stage of setting up “conversations with our team on what to do with open source.” It doesn’t appear to be soon.
It looks like WinUI 3 isn’t quite ready yet, despite its 1.0 designation. âWinUI 3.0 is essentially a reboot to the capabilities of Windows 8, with a lot of features not availableâ¦ having been burned with so many rewrites since Windows 8, I wouldn’t consider WinUI until they delivered an application to it. Microsoft major, like Office, ” says a developer.
The sample applications are few, although the team said âWe work with many internal Microsoft applications and Windows components on delivery with WinAppSDK. We’ll talk more about that as we get closer to release. “
Why bother? The referenced team This article on how to write an application that is perfect for Windows 11. This includes using the latest common controls (things like checkboxes, sliders, and lists), using design textures Acrylic and Mica, support for rounded window corners and Windows 11 snap layouts, support for a dark as well as light theme, and using the new Segoe UI font and Windows 11 icons.
“We recommend that all applications switch to using these new icons and fonts to be consistent on Windows 11,” the docs say.
The developers will be skeptical, however. Users are just getting started with Windows 11. The new SDK is not mature.
An app that looks okay on Windows 11 can look dated on Windows 12, every time it presents itself, and cross-platform is a necessity for many types of apps, pushing developers towards more scalable web technology.Â®