explaingit

microsoft/windowsappsdk

4,541C++Audience · developerComplexity · 3/5Setup · moderate

TLDR

Microsoft's official SDK for building modern Windows desktop apps with a current Fluent Design look, letting existing Win32, WPF, or Windows Forms apps adopt new Windows features without a full rewrite.

Mindmap

mindmap
  root((Windows App SDK))
    What it does
      Modern Windows UI
      Fluent Design toolkit
    Key features
      WinUI 3 controls
      Backward compatibility
      NuGet distribution
    Supported frameworks
      Win32
      WPF
      Windows Forms
    Audience
      Windows developers
      Desktop app builders
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Add WinUI 3 components to an existing Win32 or WPF app to give it a modern Fluent Design look without rewriting it.

USE CASE 2

Build a new Windows desktop app using current Windows APIs while staying compatible with Windows 10 going back to the 2018 build 17763.

USE CASE 3

Browse the WinUI 3 Gallery companion app to explore available controls and copy working code examples into your project.

USE CASE 4

Distribute a modernized Windows desktop app using MSIX packaging for improved security and reliability.

Tech stack

C++C#WinUI 3NuGetMSIX

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Visual Studio and the Windows App SDK NuGet package, MSIX packaging is optional but recommended for distribution.

In plain English

Windows App SDK is a set of tools and libraries from Microsoft that helps developers build desktop apps for Windows. It was previously known as Project Reunion. The goal is to give Windows developers access to newer Windows features and a modern visual style without requiring them to abandon their existing apps or rewrite them from scratch. The SDK includes WinUI 3, which is Microsoft's current user interface toolkit. It provides the visual building blocks for creating modern-looking Windows apps, following the Fluent Design guidelines that Microsoft uses across its own products. Developers can use WinUI 3 regardless of whether their app was originally built with the older Win32 API, Windows Forms, or WPF. One practical benefit is backward compatibility. Apps built with this SDK can still run on older versions of Windows 10, going back to a 2018 release called build 17763. This means developers can adopt new features without abandoning users who have not upgraded their operating system. The SDK is distributed as a NuGet package, which is a standard way of sharing code libraries in the Windows development world. Developers add the package to their project and can then call the new APIs alongside whatever framework they already use. There is no requirement to change the installer format for an existing app, though Microsoft notes some security and reliability benefits to using its MSIX packaging format. The repository is where the SDK's development happens in the open. Developers can file issues, ask questions, join discussions, and contribute code. Microsoft also maintains a companion gallery app called WinUI 3 Gallery that shows the available components and controls in action.

Copy-paste prompts

Prompt 1
I have an existing WPF app and want to add WinUI 3 controls using the Windows App SDK, walk me through adding the NuGet package and using a basic control.
Prompt 2
Using the Windows App SDK, create a new C# desktop app that uses WinUI 3 and targets Windows 10 build 17763 and later.
Prompt 3
Show me how to add a WinUI 3 NavigationView control to a Win32 app that already references the Windows App SDK NuGet package.
Prompt 4
What is the difference between Win32, WPF, and WinUI 3 and how does the Windows App SDK let me use them together in one project?
Open on GitHub → Explain another repo

← microsoft on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.