What's New in Windows 10 for developers, build 17763

Windows 10 build 17763 (also known as the October 2018 Update or version 1809), 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 release. For a full list of new namespaces added to the Windows SDK, see the Windows 10 build 17763 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

Feature Description
App icons and logos The app icons and logos page has been rewritten, and now shows the latest Visual Studio icon tools and provides information on adding images to your app's listing in the Microsoft Store.
Design landing page The updated Design landing page has an at-a-glance overview of UWP design areas and information on the latest additions to Fluent Design.
Fluent Design controls The following new UI controls have been added, to enhance the Fluent Design System and the apparence of your apps:
* CommandBarFlyout lets you show common user tasks in the context of an item on your UI canvas.
* DropDownButton, SplitButton, and ToggleSplitButton provide button controls with specialized features to enhance your app's user interface.
* MenuBar shows a set of multiple top-level menus in horizontal rows.
* NavigationView now supports Top navigation, for cases in which your app has a smaller number of navigation options and requires more space for content.
* TreeView has been enhanced to support data binding, item templates, and drag and drop.
Fluent Design updates Visual updates and minor changes have been made to the following Fluent Design pages:
* Alignment, padding, margins
* Color
* Fluent Design for Windows apps
* Introduction to app design
* Navigation basics
* Responsive design techniques
* Screen sizes and breakpoints
* Style overview
* Writing style
In addition, we've rewritten the following pages with all-new information on their content areas:
* Icons now provides practical recommendations for using icons and making them clickable.
* Typography consolidates information from similar articles, putting everything in a single place with updated guidance and illustrations.
Gaze input and interactions Gaze interactions allow your app to track a user's gaze, attention, and presence based on the location and movement of their eyes. This feature can be used as an assistive technology, and provides opportunities for gaming and other interactive scenarios where traditional input devices are not available.
Handwriting view HandwritingView is the new ink input surface for TextBox and RichEditBox.​ Users can tap a text control with their pen to expand the control into a writing surface. This guidance explains how to manage and customize the HandwritingView in your application.
Motion in Fluent Design The use of motion in the Fluent Design System is evolving, built on the fundamentals of timing, easing, directionality, and gravity. Applying these fundamentals will help guide the user through your app, and connects them with their digital experience by reflecting the natural world. Learn more in these articles:
* The Motion overview has been updated to reflect these fundamentals.
* Motion-in-practice provides examples of how to apply these fundamentals within your app. It also contains information on Implicit Animations, which allow for easy interpolation between old and new value when a XAML element's property is changed.
* Directionality and gravity solidifies the user's mental model of your app.
* Timing and easing adds realism to the motion in your app.
* XAML property animations allow you to directly animate properties of a XAML element, without needing to interact with the underlying composition Visual.
Page transitions Page transitions navigate users between pages in an app. They help users understand where they are in the navigation hierarchy, and provide feedback about the relationship between pages.
Text scaling The new text scaling guidance explains how to update your applications to accommodate the new text scaling behaviors, which provide the ability for users to change relative font size across both the OS and individual applications. Instead of using a magnifier app (which typically just enlarges everything within an area of the screen and introduces its own usability issues), changing display resolution, or relying on DPI scaling (which resizes everything based on display and typical viewing distance), a user can quickly access a setting to resize just text, ranging from 100% (the default size) up to 225%.
Toolkits The Adobe XD and Adobe Illustrator toolkits have been updated with new features. These design toolkits provide controls and layout templates for designing UWP apps.
UI commanding Updates to the UWP commanding infrastructure include a better encapsulation of a command object (behavior, label, icon, keyboard accelerators, access key, and description) and a standard set of common commands including cut, copy, paste, exit, etc., which eliminates the need to set these properties manually.
The new XamlUICommand class provides a base class for deveining the command behavior of an interactive UI element that performs an action when invoked. This is the parent class for StandardUICommand, which exposes a set of standard platform commands with pre-defined properties.
Windows UI Library The Windows UI Library is a set of NuGet packages that provide controls and other user interface elements for UWP apps. These packages are also compatible with earlier versions of Windows 10, so your app works even if your users don't have the latest OS version.
For more information on what's in the Windows UI Library, see this list of API namespaces included in the NuGet package.

Develop Windows apps

Feature Description
Barcode scanner The Barcode scanner documentation has been reorganized, and improved with more detail and code snippets. We have also added a new topic, Obtain and understand barcode data, which explains how to obtain and work with data from a barcode scanner.
C++/WinRT C++/WinRT contains many new features, changes, and fixes for this release. There are new functions and base classes to support you in implementing your own collection properties and collection types; and you can now use the {Binding} XAML markup extension with your C++/WinRT runtime classes (for code examples, see Data binding overview). For a full description of everything new and changed in this release, see What's new in C++/WinRT.
Other new C++/WinRT content includes: XAML custom controls; Author COM components; Value categories; and Strong and weak references.
C++/WinRT code examples We've added 250 C++/WinRT code listings to topics in our documentation, accompanying existing C++/CX code examples.
Contributing guidance We've updated our contributing guidance for our UWP documentation. This new guidance clarifies the workflow and expectations for external contributions to our docs.
DirectX Graphics Infastructure (DXGI) New documentation has been added for missing DXGI APIs, and we've provided an article about best practices when presenting on Windows 10.
* For best performance, use DXGI flip model: Provides guidance on how to maximize performance and efficiency in the presentation stack on modern versions of Windows.
* IDXGIOutput6::CheckHardwareCompositionSupport method: Notifies applications that hardware stretching is supported.
* DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS enumeration: Describes which levels of hardware composition are supported.
Get Started Our Get Started content has been revitalized with new topics, providing information and guidance on how developers new to Windows 10 may accomplish the following common tasks:
* Construct a form
* Display customers in a list
* Save and load settings
* Work with files
Map Style Sheet Editor Use the new Map Style Sheet Editor application to interactively customize the appearance of maps that you add to your application.
Microsoft Learn The new Microsoft Learn site provides new hands-on learning and training opportunities to Microsoft developers. Currently, Microsoft Learn provides training and certification for Microsoft 365, Microsoft Azure, Office 365, and Windows Server.
Notepad Notepad has been updated, adding zooming, wrap-around find/replace, and support for Unix/Linux (LF) and Mac (CR) line endings.
Project Rome Project Rome now provides a consistent programming experience across the supported platforms and SDKs.
New Microsoft Graph Notifications use Project Rome to offer a people-centric, cross-platform notifications platform for your app.
Screen snipping New URI schemes let your app programatically open up a new snip, or launch the Snip & Sketch app with a specific image for annotation.
UWP Controls in desktop applications Windows 10 now enables you to use UWP controls in WPF, Windows Forms, and C++ Win32 desktop applications. This means that you can enhance the look, feel, and functionality of your existing desktop applications with the latest Windows 10 UI features that are only available via UWP controls, such as Windows Ink and controls that support the Fluent Design System. This feature is called XAML islands.
We provide several ways to use XAML islands in your applications, depending on the application platform you are using. WPF and Windows Forms applications can use a set of controls in the Windows Community Toolkit that provide a designer-oriented development experience. C++ Win32 applications must use the UWP XAML hosting API in the Windows.UI.Xaml.Hosting namespace. For more information, see UWP controls in desktop applications.
NOTE: The APIs and controls that enable XAML islands are currently available as a developer preview. Although we encourage you to try them out in your own prototype code now, we do not recommend that you use them in production code at this time.
Windows Machine Learning Windows Machine Learning has now officially launched, providing features like faster evaluation and support for cutting-edge machine learning models. To support developers who want to integrate it into their applications, we have created a new documentation site with several new and updated resources:
* Tutorial: Create a Windows Machine Learning Desktop application (C++): This tutorial shows how to build a simple Windows ML application for desktop.
* Tutorial: Create a Windows Machine Learning UWP application (C#): Create your first UWP application with Windows ML in this step-by-step tutorial.
* Windows.AI.MachineLearning Namespace: The API reference has been updated for the latest release of the Windows 10 SDK, and developers can now use this API for both Win32 and UWP applications.
Windows Mixed Reality Developers can now request hardware-protected backbuffer textures if supported by the display hardware, allowing applications to use hardware-protected content from sources like PlayReady. Hardware protection support and setting is available for the primary layer by using new properties of Windows.Graphics.Holographic.HolographicCamera, and for Quad layers via Windows.Graphics.Holographic.HolographicQuadLayerUpdateParameters.

IoT Core

Feature Description
AssignedAccessSettings The AssignedAccessSettings class enables calls for different methods and properties to access the user's assigned access settings for a specific device.
Default App Overview The Windows 10 IoT Core Default App has been updated with new features and capabilities, such as weather, inking, and audio.
Dashboard The Windows 10 Iot Core Dashboard now allows developers using a Dragonboard 410C or NXP to flash custom FFUs onto their device.
On-Screen Keyboard The on-screen keyboard for IoT devices now uses the same touch keyboard components as the desktop edition of Windows. This enables features such as dictation mode, IME support, and a full set of input scopes.
Title bars for sign-in dialogs Windows 10 IoT Core now provides the option to configure title bars for system dialog boxes.
Wake on Touch Wake on touch enables your device's screen to turn off while not in use, while quickly turning on when a user touches its screen.
Windows.System.Update The new Windows.System.Update namespace enables interactive control of system updates. This namespace is only available for Windows 10 IoT Core.

Web development

Feature Description
EdgeHTML 18 The Windows 10 October 2018 update ships with EdgeHTML 18, the most recent update to the Microsoft Edge browser and the JavaScript engine for UWP apps. EdgeHTML 18 brings modernized and expanded support for the Web Authentication API, new WebView control features, and more! On the tooling side, EdgeHTML 18 brings new WebDriver capabilities and automatic updates, and enhancements to the Edge DevTools and Edge DevTools Protocol. Check out What’s new in EdgeHTML 18 and DevTools in the latest Windows 10 update (EdgeHTML 18) for all the details.
Progressive Web Apps Windows 10 JavaScript apps (web apps running in a WWAHost.exe process) now support an optional per-application background script that starts before any views are activated and runs for the duration of the process. With this, you can monitor and modify navigations, track state across navigations, monitor navigation errors, and run code before views are activated. When specified as the StartPage in your app manifest, each of the app's views (windows) are exposed to the script as instances of the new WebUIView class, providing the same events, properties, and methods as a general (Win32) WebView.
Web API extensions A list of legacy Microsoft API extensions has been added to the Mozilla Developer Network documentation for cross-browser web development. These API extensions are unique to Internet Explorer or Microsoft Edge, and supplement existing information about compatibility and broswer support in the MDN web docs. Legacy Microsoft CSS extensions and JavaScript extensions are also available, and you can find rich web API information from MDN surfaced directly in Visual Studio Code.
WebVR We have made major updates to the WebVR Developer's Guide, including a complete redesign of the home page and reorganization of the table of contents. We have also written several new topics, including:
* What is WebVR? Explains what WebVR is, why you should use it, and how to get started developing for it.
* WebVR in Progressive Web Apps: Learn how to add WebVR to a Progressive Web App (PWA).
* WebVR in WebView: Learn how to add WebVR to a WebView control in a Windows 10 application.
* WebVR demos: Check out some WebVR demos using Microsoft Edge and a Windows Mixed Reality immersive headset.

Publish & Monetize Windows apps

Feature Description
MSIX MSIX is the new Windows app package format that provides a modern packaging experience to all Windows apps. The open-source MSIX format preserves the functionality of existing packages, while enabling modern deployment features.
MSIX Packaging Tool The new MSIX Packaging Tool) lets you repackage your existing desktop applications in the MSIX format, even if you don’t have access to their source code. It can be run in the command line, or via its interactive UI.
Desktop App Converter support for MSIX You can use the Desktop App Converter to output an MSIX package, by using the -MakeMSIX parameter.
MakeAppx.exe tool support for MSIX You can use the MakeAppx.exe tool to create an MSIX package for UWP apps or traditional desktop applications. This tool is included in the Windows 10 SDK and can be used from a command prompt or a script file.
For UWP apps, see Create an app package with the MakeAppx.exe tool.
For desktop applications, see Package a desktop application manually.
Package Support Framework The Package Support Framework is an open source kit that helps you apply fixes to your existing desktop application when you don't have access to the source code, so that it can run in an MSIX container.
Store Analytics API The Microsoft Store analytics API now includes the following new methods:
* Get insights data for your UWP app
* Get insights data for your desktop application
* Get upgrade blocks for your desktop application
* Get upgrade block details for your desktop application

Videos

The following videos have been published since the Fall Creator's Update, highlighting new and improved features in Windows 10 for developers.

C++/WinRT

C++/WinRT is a new way of authoring and consuming Windows Runtime APIs. It's implemented sole in header files, and designed to provide you with first-class access to modern app features. Watch the video to learn how it works, then read the developer docs for more info.

Get Started for Devs: Create and customize a form on Windows 10

Our Get Started docs for Windows developers now provide hands-on experience with basic app development task. This video walks you through one of those topics, and covers the basics of creating a form UI in your app. Watch the video to see the code in action, then check out the topic yourself.

Enhance your Bot with Project Personality chat

Project Personality Chat lets you add a customizable persona to your chat bots. By integrating with the Microsoft Bot Framework SDK, you can add small-talk capabilities for a more conversational way to interact with the customers. Watch the video to learn how to implement it, then try out the interactive demo for a hands-on experience.

Multi-instance UWP apps

Windows now allows you to run multiple instances of your UWP app, with each in its own separate process. Watch the video to learn how to create a new app that supports this feature, then read the developer docs for more guidance on how and why to use this feature.

Xbox Live Unity plugin

The Xbox Live plugin for Unity contains support for adding Xbox Live signing, stats, friends lists, cloud storage, and leaderboards to your title. Watch the video to learn more, then download the GitHub package to get started.

One Dev Question

In the One Dev Question video series, longtime Microsoft developers cover a series of questions about Windows development, team culture, and history.

Samples

Customer Orders Database

The Customers Orders Database sample has been updated to use new controls like DataGrid, NavigationView, and Expander.

Customer database tutorial

The Customer database tutorial creates a basic UWP app for managing a list of customers, and introduces concepts and practices useful in enterprise development. It walks you through implementing UI elements and adding operations against a local SQLite database, and provides loose guidance for connecting to a remote REST database if you wish to go further.

Photo Editor C++/WinRT

The Photo Editor sample app showcases development with the C++/WinRT language projection. The app allows you to retrieve photos from the Pictures library, and then edit a elected image with associated photo effects.

Windows Machine Learning

The Windows-Machine-Learning repository has been updated to work with the latest Windows 10 SDK, and contains samples written in C#, C++, and JavaScript.

XAML Hosting API

The XAML Hosting API sample is a Win32 desktop app that highlights assorted scenarios using the UWP XAML hosting API (also called XAML islands). The project incorporates Windows Ink, Media Player, and Navigation View controls in a gallery-style presentation. Outside of general controls usage, the sample also demonstrates handling XAML and native Windows events/messages, and basic XAML data binding.