Small Bytes: Windows App SDK (Premium)

The Windows App SDK is Microsoft’s modern app development platform for Windows and an evolution of the Universal Windows Platform (UWP). As such, it can be used to create new Windows 10/11 apps or to migrate existing apps from UWP so that they can take advantage of the newer controls and functionality provided by the Windows App SDK.

Compared to UWP, the Windows App SDK offers several improvements, the most notable of which is that it is decoupled from specific Windows versions so that all its features---and any new features to come down the road---will work on any supported Windows 10 or 11 version. UWP versions were tied to specific Windows 10 versions, so any new features would only work on whatever was the most recent release at the time.

Almost as notable, the Windows App SDK is used to create desktop applications and not mobile apps, as was the case with UWP. That said, the high-level distinction between Windows App SDK apps and UWP apps is minor today since both use some version of the WinUI user experience (UX) framework and thus can look very similar. But the differences will grow over time because the Windows App SDK ships with WinUI 3, which is being updated regularly, whereas UWP targets WinUI 2, which is no longer being updated.

From a positioning perspective, Microsoft describes the Windows App SDK as being complementary to existing app frameworks and SDKs like the Windows SDK (Win32) and .NET (Windows Forms and Windows Presentation Foundation, or WPF). That makes some sense because the Windows App SDK doesn’t replace these environments---which may be confusing---and because of the integration capabilities that exist between the Windows App SDK, the Windows SDK, and .NET. Among other things, you can create new Windows App SDK apps using the C# language and .NET or the C++ language.

But creating an app based on the Windows App SDK is less straightforward than creating a new Win32, Windows Forms, WPF, or UWP app in part because the starter templates that most developers need are not installed by default when you configure the relevant desktop workloads in Visual Studio. Instead, you must customize the installation to include the appropriate template(s): Windows App SDK Template for C++ for Desktop development with C++ (for Win32) or Windows App SDK Templates for C# for .NET desktop development.

Once you do this, you will find templates for WinUI 3 (Windows App SDK-based) apps when you try to create a new app in Visual Studio.

Experimenting with the Windows App SDK using a fictional new version of .NETpad called WinUIpad that is based on C# and .NET, I wasn’t surprised to discover that the developer experience was very similar to that of UWP, with the same Windows Runtime (WinRT)-style APIs and the same Extensible Application Markup Language (XAML) flavor for declaratively creating the app’s UI. (I’m going to examine declarative UI soon, by the way.)

There are some minor differences, of...

Gain unlimited access to Premium articles.

With technology shaping our everyday lives, how could we not dig deeper?

Thurrott Premium delivers an honest and thorough perspective about the technologies we use and rely on everyday. Discover deeper content as a Premium member.

Tagged with

Share post

Please check our Community Guidelines before commenting

Windows Intelligence In Your Inbox

Sign up for our new free newsletter to get three time-saving tips each Friday

"*" indicates required fields

This field is for validation purposes and should be left unchanged.

Thurrott © 2024 Thurrott LLC