What's New in Windows 10 for developers, SDK preview build 17110
Windows 10 SDK preview build 17110, in combination with Visual Studio 2017 and the updated SDK, provide the tools, features, and experiences to make remarkable Universal Windows Platform apps. Install the tools and SDK on Windows 10 and you’re ready to either create a new Universal Windows app or explore how you can use your existing app code on Windows.
This is a collection of new and improved features and guidance of interest to Windows developers in this SDK preview. For now, these features are accessible to members of the Windows Insider Program, and will be made publicly available in the next major update of Windows 10. For a full list of new namespaces added to the Windows SDK, see the Windows 10 build 17110 API changes.For more information on the highlighted features of Windows 10, see What's cool in Windows 10. In addition, see Windows Developer Platform features for a high-level overview of both past and future additions to the Windows platform.
Design & UI
|Adaptive and interactive toast notifications||Enhance your app with adaptive and interactive notifications. Get started with our updated guidance on toast notifications, and explore the new information on image size restrictions, progress bars, and adding input options.|
|Content links||The new Content links control provides a way to embed rich data in your text controls, which lets a user find and use more information about a person or place without leaving the context of your app.|
|Design samples||The BuildCast sample has been added to the Design toolkits and samples page. BuildCast is an end-to-end sample built to showcase the Fluent Design System and other capabilities of the Universal Windows Platform.|
|Embedded handwriting||The pen input feature has been added to text controls, enabling users to write directly into text boxes with Windows Ink. As the user writes, the text is converted to a script that maintains the feel of natural writing.|
|Fluent Design updates||We've updated many of our Fluent Design pages with new information and guidance:
* The Fluent design overview has been updated to align to the latest Fluent features. * Reveal highlight has new guidance on themes and custom controls.
* Navigation history and backwards navigation has been revamped, with detailed examples, guidance for device optimization, and guidelines for custom behavior.
|Page layouts||We've updated our XAML page layout docs with new information on fluid layouts and visual states. These features allow for greater control over how the position of elements in your app respond and adapt to the available visual space.|
|Pull to refresh||The Pull to refresh control allows a user to pull down a list of data in order to retrieve more data. It is widely used on devices with a touch screen.|
|Navigation view||The Navigation view control provides a collapsible navigation menu for top-level navigation in your app. This control implements the nav pane, or hamburger menu, pattern and automatically adapts the pane's display mode to different window sizes.|
|Reveal focus||The new Reveal focus effect provides lighting for experiences such as Xbox One and television screens. It animates the border of focusable elements, such as buttons, when the user moves gamepad or keyboard focus to them.|
|Sound||XAML now supports 3D Audio with the SpatialAudioMode property. See Sound for information on how it can be configured.|
|Tree View||The TreeView control enables a hierarchical list with expanding and collapsing nodes that contain nested items. It can be used to illustrate a folder structure or nested relationships in your UI.|
|Writing style||We've upgraded and expanded our article on voice and tone, transforming it into Writing style guidance. This new information provides principles for creating effective text in your app, and recommends best practices for writing for controls such as error messages or dialogs.|
|Getting started for game development||Interested in developing games for Windows 10? The new Getting started for game development page gives you a full overview of what you need to do to get yourself set up, registered, and ready to submit your apps and games.|
|Graphics adapters||The following DXGI APIs have been added, which are related to graphics adapter preference and removal:
* The IDXGIFactory6 interface enables a single method that enumerates graphics adapters based on a given GPU preference. * The DXGIDeclareAdapterRemovalSupport function allows a process to indicate that it's resilient to any of its graphics devices being removed.
* The DXGI_GPU_PREFERENCE enumeration describes the preference of GPU for the app to run on.
Develop Windows apps
|Adaptive Cards||Adaptive cards are an open card exchange format enbling developers to exchange UI content in a common and consistent way. They describe their content as a JSON object that can be rendered to automatically adapt to the look and feel of the host application.|
|App Resource Group||The AppResourceGroupInfo class has new methods that you can use to initiate the transition to the app suspended, active (resumed), and terminated states.|
|Broad file-system access||The broadFileSystemAccess capability grants apps the same access to the file system as the user who is currently running the app without file-picker style prompts. For more info, see File access permissions and the broadFileSystemAccess entry in App capability declarations.|
|Console UWP apps||You can now write C++ /WinRT or /CX UWP console apps that run in a console window such as a DOS or PowerShell console window. Console apps use the console window for input and output. UWP console apps can be published to the Microsoft Store, have an entry in the app list, and a primary tile that can be pinned to the Start menu. For more info, see Create a Universal Windows Platform console app|
|Landmarks and Headings supported for accessible technology (AT)||Landmarks and headings define sections of a user interface that aid in efficient navigation for users of assistive technology such as screen readers. For more information see Landmarks and Headings.|
|Machine Learning||Windows Machine Learning allows you to build apps that evaluate pre-trained machine learning models locally on your Windows 10 devices. To learn more about the platform, see Windows Machine Learning.
The MachineLearning namespace contains classes that enable apps to load machine learning models, bind data as inputs, and evaluate the results.
|Map Controls||The MapControl class has a new property named Region that you can use to show contents in a map control based on the language of a specific region (for example, the state or province).|
|Map Elements||The MapElement class has a new property named IsEnabled that you can use to specify whether users can interact with the MapElement.|
|Map Place Info||The PlaceInfo class contains a new method CreateFromAddress that you can use to create a PlaceInfo by using an address and display name.|
|Map Services||The MapRouteDrivingOptions class contains a new property named DepartureTime that you can use to compute a route with the traffic conditions that are typical for the specified day and time.|
|Multi-instance UWP apps||A UWP app can opt-in to support multiple instances. If an instance of an multi-instance UWP app is running, and a subsequent activation request comes through, the platform will not activate the existing instance. Instead, it will create a new instance, running in a separate process. For more info, see Create a multi-instance Universal Windows App.|
|PlayReady||Microsoft PlayReady is a set of technologies for protecting digital content from unauthorized usage. PlayReady runs on all sorts of devices and apps, and across all operating systems. Learn how to incorporate PlayReady in your app.|
|Screen capture||The Windows.Graphics.Capture namespace provides APIs to acquire frames from a display or application window, to create video streams or snapshots to build collaborative and interactive experiences. See Screen capture for more information.|
|System Triggers||The CustomSystemEventTrigger allows you to define a system trigger when the OS doesn't provide a system trigger that you need. Such as when a hardware driver and the UWP app both belong to 3rd party, and the hardware driver needs to raise a custom event that its app handles. For example, an audio card that needs to notify a user when an audio jack is plugged in.|
|User Activities||The UserActivitySessionHistoryItem class has new methods that retrieve recent user activities. See GetRecentUserActivitiesAsync, and its overload, for details.|
|Windows Mixed Reality||To support the growing Windows Mixed Reality platform, new APIs have been added to the Windows.Graphic.Holographic and Windows.UI.Input.Spatial namespaces.|
Publish & Monetize Windows apps
|Enter free-form prices in a specific market's local currency||When you override your app's base price for a specific market, you are no longer limited to choosing one of the standard price tiers; you now have the option to enter a free-form price in the market's local currency. For more info, see Set and schedule app pricing. This feature is available to all Windows developers and does not require the updated SDK.|
|Store Context||The StoreContext class has been updated with a selection of new methods. These methods manage the downloading and installation of package updates and add-ons for an app.|
|Subscription add-ons are now available to all developers||Create and publish subscription add-ons to sell digital products in your apps and games (such as app features or digital content) with automated recurring billing periods. For more details, see Enable subscription add-ons for your app. This feature is available to all Windows developers and does not require the updated SDK.|
The following videos have been published since the Fall Creator's Update, highlighting new and improved features in Windows 10 for developers.
Package a .NET app in Visual Studio
It's easier than ever to bring your desktop app to the Universal Windows Platform. Watch the video to learn how to package your .NET app for distribution, then check out this page for more information.
Xbox Live Creators Program
Creating 3D app launchers for Windows Mixed Reality
3D launchers provide a unique way for users to place a truly volumetric representation of your app in their Mixed Reality home environment. Watch the video to learn how to prepare your 3D model and assign it as the launcher for your app, then read the developer docs and check out our design guidance for more information.
Motion controller tracking
Motion controllers represent a user's hands in Windows Mixed Reality. Watch the video to learn how the motion controllers work when they are both in and out of the field of view of the Mixed Reality headset, and read more about controller tracking here.
Accessibility tools for Windows developers
The Windows 10 SDK includes several tools to help you test for and improve the accessibility of your app. The Inspect and AccEvent tools help you ensure your apps are available to all. Watch the video to learn about these tools, then read more about accessibility testing for more information.