What's New for developers in Windows 11
Windows 11 is now widely available, and is joined by Build 22000 of the Windows SDK (also known as SDK version 2110).
It is an exciting time for Windows developers, as new tools and frameworks are in active development. They're all designed to bring support for the latest Windows features to the widest possible audience. For example, Win32 developers will appreciate the new Windows App SDK model, and fans of modern user interface design will enjoy working with WinUI. Developers who love C++, can use WinRT/C++ to create apps in familiar ways.
Windows App SDK
|Windows Apps SDK||The Windows App SDK is a set of new developer components and tools that represent the next evolution in the Windows app development platform. The Windows App SDK provides a unified set of APIs and tools that can be used in a consistent way by any desktop app on Windows 11 (and downlevel to Windows 10, version 1809).|
|Create a new app with the Windows App SDK||The Windows App SDK includes WinUI 3 project templates that enable you to create apps with an entirely WinUI-based user interface. When you create a project using these templates (see Create your first WinUI 3 project), the entire user interface of your application is implemented using windows, controls, and other UI types provided by WinUI 3.|
|Use the Windows App SDK in an existing project||If you have an existing project in which you want to use the Windows App SDK, you can install the latest version of the Windows App SDK NuGet package in your project. Unpackaged apps (that is, apps that do not use MSIX for their deployment technology) must follow this procedure to use the Windows App SDK, but packaged apps can do this too.|
|Download the Windows App SDK||There are several packages and release channels for the Windows App SDK. The Download the Windows App SDK page provides guidance on which ones you need, download links, and installation instructions.|
Windows UI Library (WinUI)
|WinUI||WinUI 2.8 and WinUI 3 are versions of the new Windows UI Library. Which version you use depends on the tools you are using: for example, WinUI 2.8 supports UWP apps.|
|InfoBadge control||An InfoBadge is a small piece of UI that can be added into an app and customized to display a number, icon, or a simple dot. InfoBadge is built into NavigationView but can also be placed as a standalone element in the XAML tree, allowing you to place InfoBadge into any control or piece of UI of your choosing. If you have the WinUI 2 Gallery app installed, click here to open the app and see the InfoBadge in action.|
|ColorPicker control||The new orientation property of the ColorPicker control allows you to control where the editing controls display relative to the color spectrum.|
|Bluetooth LE||New ConnectionParameters APIs have been added to the Bluetooth LE namespace. See the BluetoothLEConnectionParameters class, BluetoothLEPreferredConnectionParameters, and BluetoothLEPreferredConnectionParametersRequest for detailed information.|
|Call-control||The PhoneCall class lets you programmatically control active or incoming phone calls.|
|Compositor clock||The compositor clock API offers statistics and frame rate control for presenting on-screen content smoothly, at the fastest possible cadence, and on a variety of hardware configurations.|
|Composition swapchain||The composition swapchain API allows applications using composition APIs to host content that can be independently rendered and presented to.|
|DirectDisplay||New APIs have been added to the DirectDisplay namespaces. See DisplayDevice.CreateSimpleScanoutWithDirtyRectsAndOptions and DisplayTaskPool.TryExecuteTask for detailed information.|
|DNS application settings||The DnsGetApplicationSettings function retrieves application-specific settings for a DNS server.|
|DNS custom server||New DNS_CUSTOM_SERVER structure and ADDRINFO_DNS_SERVER structure allow you to configure a custom DNS server.|
|Firewall dynamic keywords||Firewall dynamic keywords allow you to manage dynamic keyword addresses in Microsoft Defender Firewall. A dynamic keyword address is used to create a set of IP addresses to which one or more firewall rules can refer. Dynamic keyword addresses support both IPv4 and IPv6.|
|On-Air||The ShareWindowCommandSource class provides a framework to communicate with the Windows shell to present a UI that controls window sharing.|
|Pen haptics||Pen haptic feedback, introduced in Windows 11, allows users to feel their pen interacting in a tactile manner with the user interface of an app. The KnownSimpleHapticsControllerWaveforms class allows you to configure this experience for your app's users.|
|WinHttp connection groups||The WinHttpQueryConnectionGroup function allows you to pull the current state of WinHttp's connections.|
|VPN foreground activation||New APIs have been added to VPN foreground activation, which is often used to let a user input VPN credentials. See the VpnForegroundActivationOperation class and VpnForegroundActivatedEventArgs for more information.|
The Family Notes has been updated with a user interface created using WinUI.
The Pen Haptics sample shows how to use Windows 11 pen haptics API to trigger haptic feedback on a pen that supports haptics. It shows how to:
- Get SimpleHapticsController from pen input: this sample shows how to go from pointer ID to PenDevice and then to SimpleHapticsController. This requires haptics support from both the pen and a compliant machine that supports the particular pen.
- Check pen haptics capabilities: SimpleHapticsController has properties for pen hardware capabilities, such as IsIntensitySupported, IsPlayCountSupported, SupportedFeedback, etc.
- Start and stop haptic feedback: start and stop feedback using variations of SendHapticFeedback and StopFeedback API
- Trigger both inking and interaction haptic feedback: the code shows how to trigger inking feedback for inking scenarios and interaction feedback for user interactions
The WinUI 2 Gallery has been updated to showcase the latest additions to the Windows UI Library in WinUI 2.7.
Submit and view feedback for