Новые возможности для разработчиков в Windows 10 (сборка 19041)What's New for developers in Windows 10 build 19041

Сборка 19041 Windows 10 (также известная как пакет SDK версии 2004) в сочетании с Visual Studio 2019 и связанными с ним инструментами и функциями предоставляет все необходимое для создания уникальных приложений Windows.Windows 10 build 19041 (also known as SDK version 2004), in combination with Visual Studio 2019 and related tools and features, provide you with everything you need to create remarkable Windows apps. Установив средства и пакет SDK в Windows 10, вы можете сразу приступить к созданию нового проекта универсального приложения для Windows или использованию существующего кода приложения в Windows.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. Полный список новых пространств имен, добавленных в пакет SDK для Windows, см. в статье об изменениях API в Windows 10 (сборка 19041).For a full list of new namespaces added to the Windows SDK, see the Windows 10 build 19041 API changes. Дополнительные сведения об основных функциях Windows 10 см. в разделе Потрясающие возможности Windows 10.For more information on the highlighted features of Windows 10, see What's cool in Windows 10.

Приложения Windows 10Windows 10 apps

ФункцияFeature ОписаниеDescription
Воспроизведение звука через BluetoothBluetooth audio playback В статье Включение воспроизведения звука с устройств, подключенных удаленно по Bluetooth описано, как использовать AudioPlaybackConnection, чтобы удаленные устройства, подключенные по Bluetooth, могли воспроизводить звук на локальном компьютере, позволяя выполнять такие сценарии, как настройка ПК на работу в качестве динамика Bluetooth и предоставление пользователям возможности слушать аудио с телефона.Enable audio playback from remote Bluetooth-connected devices shows you how to use AudioPlaybackConnection to enable Bluetooth-connected remote devices to play back audio on the local machine, enabling scenarios such as configuring a PC to behave like a Bluetooth speaker and allowing users to hear audio from their phone.
Перенос приложения C#C# app porting Мы описали процесс переноса приложения C# в C++/WinRT.We’ve documented the process of porting a C# application to C++/WinRT. Статья Перенос примера буфера обмена в C++/WinRT из C# — пример использования является контекстной и основывается на конкретном реальном опыте по переносу.Porting the Clipboard sample to C++/WinRT from C# is contextual, and based on a particular real-world porting experience. Связанная с этим статья Переход на C++/WinRT с C# предоставляет более подробный обзор технических деталей и действий, связанных с переносом.Its companion topic Move to C++/WinRT from C# is a more encyclopedic look at the technical details and steps involved in porting.
C++/WinRTC++/WinRT Узнайте об обновлениях C++/WinRT для улучшения производительности во время сборки и выполнения (результат совместной работы с группой разработчиков Visual C++) в разделе Сводка по последним улучшениям и дополнениям за март 2020 г.Read about the updates to C++/WinRT regarding build-time and run-time performance improvements (achieved in concert with the Visual C++ compiler team), in Rollup of recent improvements/additions.
Для C++/WinRT мы добавили дополнительные сведения в следующие темы: перенос из C++/CX, перенос из C#, простой пример библиотеки пользовательского интерфейса Windows для C++/WinRT, параллелизм, get_unknown() и создание пользовательских (на основе шаблона) элементов управления XAML с помощью C++/WinRT.For C++/WinRT, we added more info to these topics: porting from C++/CX, porting from C#, Simple C++/WinRT Windows UI Library example, Concurrency, get_unknown(), and XAML custom (templated) controls with C++/WinRT.
DirectXDirectX Мы обновили несколько связанных с DirectX статей о новых возможностях для нескольких прошлых выпусков Windows, начиная с Creators Update до Windows 10 версии 1903.We brought several DirectX-related "What's new" topics up to date for several past releases of Windows, from the Creators Update to Windows 10, version 1903. Новые возможности в DirectWrite, Усовершенствования DXGI 1.6 и Новые возможности в Direct3D 12.What's new in DirectWrite, DXGI 1.6 improvements, and What's new in Direct3D 12.
DirectXMathDirectXMath Мы опубликовали 21 новую статью о DirectXMath, где описываются две структуры матрицы, а также их функции-члены и свободные функции.We published 21 new DirectXMath topics, covering two matrix structures and their member functions and free functions. Структура XMFLOAT3X4 является примером.The XMFLOAT3X4 structure is an example.
Direct3DDirect3D В статье об использовании DirectX с дисплеями высокого динамического диапазона и расширенным цветом предоставляется список рекомендаций для приложений Windows с высоким динамическим диапазоном.Using DirectX with high dynamic range displays and advanced color provides a list of best practices for Windows high-dynamic-rnge apps.
Новый интерфейс ID3D11On12Device2 и его методы позволяют получать ресурсы, созданные с помощью API Direct3D 11, и использовать их в Direct3D 12.A new ID3D11On12Device2 interface, and its methods, enable you to take resources created through the Direct3D 11 APIs and use them in Direct3D 12.
Direct3D 12Direct3D 12 Добавлен уровень компонентов Direct3D 12 Core 1.0, который устройства могут использовать только для вычислений.The Direct3D 12 Core 1.0 Feature Level has been added, for use by compute-only devices.
Добавлены новые разделы для интерфейса ID3D12Debug3.New topics habe been added for the ID3D12Debug3 interface.
Direct MLDirect ML В DirectML добавлены 18 операторов и низкоуровневый интерфейс API с аппаратным ускорением, на котором создается WinML.There 18 operators have been added to DirectML, the low-level hardware-accelerated API on which WinML is built. Пример: структура DML_ACTIVATION_SHRINK_OPERATOR_DESC.An example is the DML_ACTIVATION_SHRINK_OPERATOR_DESC structure.
Отчеты об ошибкахError reporting Функция RoFailFastWithErrorContextInternal2 была добавлена в Win32, что вызывает исключение, которое может содержать дополнительный контекст ошибки.The RoFailFastWithErrorContextInternal2 function has been added to Win32, which raises an exception which can contain additional error context.
Машинное обучениеMachine Learning Машинное обучение Windows теперь поддерживает ONNX версии 1.4 и набор операций 9.Windows Machine Learning now supports ONNX version 1.4 and opset 9.
API CloseModelOnSessionCreation позволяет экономить память, автоматически закрывая модель обучения, когда она больше не нужна.The CloseModelOnSessionCreation API allows you to save memory by closing a learning model automatically once it is no longer needed.
Wi-FiWi-Fi Добавлено несколько новых собственных функций и структур Wi-Fi, например функция WlanDeviceServiceCommand.Several new Native WiFi functions and structures have been added, such as the WlanDeviceServiceCommand function.
Хот-спот Wi-Fi 2Wi-Fi Hotspot 2 В статье Подготовка профиля Wi-Fi с помощью веб-сайта описаны новые функции для Хот-спота Wi-Fi 2.Provision a Wi-Fi profile via a website describes new functionality for Wi-Fi Hotspot 2.
Взаимодействие Windows HolographicWindows Holographic interop Добавлен заголовок windows.graphics.holographic.interop.h с 17 API-интерфейсами Win32.The windows.graphics.holographic.interop.h header has been added, with 17 Win32 APIs. API-интерфейсы предназначены для взаимодействия между средой выполнения Win32 и Windows.The APIs are for interoperating between Win32 and Windows Runtime. Хотя API-интерфейсы были добавлены в Windows 10 (сборка 18362), заголовок является новым для сборки 19041.While the APIs were added in Windows 10 build 18362, the header is new for build 19041.
Сокеты WindowsWindows Sockets В содержимое SPI Windows Sockets 2 были добавлены несколько улучшений.Enhancements have been made to the Windows Sockets 2 SPI content. Примером одного из многих улучшенных и дополненных разделов является раздел функции обратного вызова LPWSPEVENTSELECT.An example of one of the many topics we improved and augmented is the LPWSPEVENTSELECT callback function topic.
Основные сведения о XAML IslandsXAML Islands - basics Разместите элементы управления XAMl UWP в классических приложениях Windows с помощью XAML Islands.Host UWP XAMl controls in your desktop Windows apps with XAML islands. Узнайте, как разместить стандартный элемент управления UWP в приложении WPF, а также разместить стандартный элемент управления UWP в приложении Win32 на C++.Learn how to host a standard UWP control in a WPF app, and host a standard UWP control in a C++ Win32 app.
Пользовательские элементы управления XAML IslandsXAML Islands - custom controls Пакеты NuGet Microsoft.Toolkit.Win32.UI.XamlApplication и Microsoft.Toolkit.Win32.UI.SDK упрощают размещение пользовательских элементов управления XAML UWP в приложениях .NET и Win32 на C++.The Microsoft.Toolkit.Win32.UI.XamlApplication and Microsoft.Toolkit.Win32.UI.SDK NuGet packages make it easier to host custom UWP XAML controls in .NET and C++ Win32 apps.
Пошаговые руководства см. в статьях Размещение настраиваемого элемента управления UWP в приложении WPF, использующем XAML Islands и Размещение настраиваемого элемента управления UWP в приложении Win32 на C++.For step-by-step walkthroughs, see Host a custom UWP control in a WPF app and Host a custom UWP control in a C++ Win32 app.
Наконец, рекомендации по более сложным сценариям Win32 на C++ см. в статье Расширенные сценарии для XAML Islands в приложениях Win32 на C++.Finally, for guidance on more complicated C++ Win32 scenarios, see Advanced scenarios for XAML Islands.

Создание решений с помощью WindowsBuild with Windows

ФункцияFeature ОписаниеDescription
Среда разработки WindowsWindows development environment В документации по среде разработки Windows предоставлены ресурсы по использованию Windows для разработки на различных платформах для достижения любых целей разработки.The Windows development environment docs provide resources for using Windows to develop across a variety of platforms, to accomplish whatever development goals you might have.
Python в WindowsPython on Windows В разделе Python в Windows содержатся сведения для разработчиков, которые имеют небольшой опыт работы с языком Python, а также для разработчиков, которым необходимо оптимизировать разработку на Python с помощью других инструментов, доступных в Windows.The Python on Windows section provides information for developers new to the Python language, as well as devs looking to optimize their Python development with other tools available on Windows. Узнайте, как настроить среду Python для веб-разработки и взаимодействия с базами данных.Learn how to set up your Python environment for web development and database interaction.
NodeJS в WindowsNodeJS on Windows В статье Настройка среды разработки Node.js в подсистеме Windows для Linux версии 2 содержатся подробные рекомендации для опытных разработчиков, выполняющих развертывание на серверах Linux.The recommended setup for your Node.js development environment provides detailed guidelines for advanced developers deploying to Linux servers. Также доступны инструкции по настройке для популярных веб-платформ Node.js, взаимодействия с базами данных и контейнеров Docker.Also available are setup instructions for popular Node.js web frameworks, database interaction, and Docker containers.
Использование Mac в WindowsMac to Windows Наше руководство по изменению среды разработки предназначено для пользователей, переводящих свою платформу разработки с Mac на Windows, и предоставляет сопоставления для сравнимых ярлыков и служебных программ разработки.Our guide to changing your dev environment is geared towards users transitioning their development platform from Mac to Windows, and provides mappings for comparable shortcuts and development utilities.
Терминал WindowsWindows Terminal Современное приложение терминала для пользователей средств и оболочек командной строки, таких как Командная строка, PowerShell и Подсистема Windows для Linux (WSL).A modern terminal application for users of command line tools and shells like Command Prompt, PowerShell, and Windows Subsystem for Linux (WSL). К его основным функциям относится поддержка нескольких вкладок, панелей, символов Юникода и UTF-8, а также модуль отрисовки текста с ускоренным GPU, возможность создания собственных тем и настройки текста, цвета, фона и сочетаний клавиш.Its main features include multiple tabs, panes, Unicode and UTF-8 character support, a GPU accelerated text rendering engine, and the ability to create your own themes and customize text, colors, backgrounds, and shortcut key bindings.
WSL 2WSL 2 Теперь доступна новая версия подсистемы Windows для Linux (WSL).A new version of the Windows Subsystem for Linux (WSL) is now available. В WSL 2 реализована перенастроенная архитектура для запуска фактического ядра Linux в Windows, что повышает производительность файловой системы и добавляет полную совместимость системных вызовов.WSL 2 features reconfigured architecture to run an actual Linux kernel on Windows, increasing file system performance and adding full system call compatibility. Эта новая архитектура изменяет способ взаимодействия двоичных файлов Linux с Windows и оборудованием компьютера, но по-прежнему предоставляет то же взаимодействие с пользователем, что и предыдущая версия WSL.This new architecture changes how Linux binaries interact with Windows and your computer's hardware, but still provides the same user experience as in the previous version of WSL. Каждое отдельное распределение Linux может работать как дистрибутив WSL1 или WSL2, может быть запущено параллельно и изменено в любое время.Each individual Linux distribution can run as a WSL1 or WSL2 distro, can be run side by side, and can be changed at any time.
Чтобы приступить к работе, установите WSL 2.Install WSL 2 to get started.
Дополнительные сведения см. в статье о сравнении взаимодействия с пользователем в WSL 1 и WSL 2.Explore further information on user experience changes between WSL 1 and WSL 2.
Просмотрите статью Вопросы и ответы по WSL.Check out the Frequently Asked Questions about WSL 2.

Упаковка и развертывание с использованием MSIXMSIX, packaging, and deployment

ФункцияFeature ОписаниеDescription
MSIXMSIX После последнего выпуска пакета SDK для Windows 10 были внесены значительные изменения в формат пакета MSIX.Significant updates to the MSIX packaging format have been made since the last release of the Windows 10 SDK.
Упаковка с помощью службPackaging with services Формат MSIX и средство упаковки MSIX теперь поддерживают пакеты приложений, содержащие службы.MSIX and the MSIX Packaging Tool now support app packages that contain services.
Скрипты в пакетах MSIXScripts in MSIX packages Вы можете использовать платформу поддержки пакетов (PSF) для запуска скриптов в пакете приложения MSIX, что позволит ИТ-специалистам динамически настраивать приложение в среде пользователя после упаковки с помощью MSIX.You can use the Package Support Framework (PSF) to run scripts in an MSIX app package, enabling IT Pros to customize an application dynamically to the user's environment after it is packaged using MSIX.
Принудительная проверка целостности пакетовEnforced package integrity Теперь можно принудительно применить проверку целостности содержимого пакетов MSIX с помощью элемента uap10:PackageIntegrity в манифесте пакета.You can now enforce package integrity on the contents of MSIX packages by using the uap10:PackageIntegrity element in your package manifest. Принудительно применить проверку целостности пакетов также можно при создании пакетов MSIX с помощью средства упаковки MSIX.You can also enforce package integrity when you create MSIX packages via the MSIX Packaging Tool.
Разреженные пакетыSparse packages Вы можете предоставлять идентификаторы в пакетах для классических приложений, которые не упакованы в пакет MSIX, создав и зарегистрировав разреженный пакет с помощью приложения.You can grant package identity to desktop apps that are not packaged in an MSIX package by building and registering a sparse package with your app. Эта возможность позволяет классическим приложениям, для которых еще нельзя внедрить упаковку MSIX для развертывания, использовать возможности расширяемости в Windows 10, для которых требуется идентификатор пакета.This feature enables desktop apps that are not yet able to adopt MSIX packaging for deployment to use Windows 10 extensibility features that require package identity.
Размещенные приложенияHosted apps Теперь можно создать размещенные приложения.You can now create hosted apps. Размещенные приложения совместно используют те же исполняемый файл и определение, что и родительское размещенное приложение, но они выглядят и ведут себя как отдельное приложение в системе.Hosted apps share the same executable and definition as a parent host app, but they look and behave like a separate app on the system. Размещенные приложения полезны в сценариях, где требуется, чтобы компонент (например, исполняемый файл или файл сценария) работал как автономное приложение Windows 10, но для работы компонента требуется процесс узла.Hosted apps are useful for scenarios where you want a component (such as an executable file or a script file) to behave like a standalone Windows 10 app, but the component requires a host process in order to execute. Размещенное приложение может иметь собственные плитку начального экрана, удостоверение и глубокую интеграцию с такими компонентами Windows 10, как фоновые задачи, уведомления, плитки и получатели данных.A hosted app can have its own start tile, identity, and deep integration with Windows 10 features such as background tasks, notifications, tiles, and share targets.

Библиотека пользовательского интерфейса Windows (WinUI)Windows UI Library (WinUI)

ФункцияFeature ОписаниеDescription
WinUI 2.4WinUI 2.4 WinUI 2.4 — это последний общедоступный выпуск Библиотеки пользовательского интерфейса Windows.WinUI 2.4 is the latest public release of the Windows UI Library. Все версии WinUI предоставляют широкий набор официальных элементов управления пользовательского интерфейса для приложений Windows и предоставляются как пакет NuGet, независимый от Windows SDK. Поэтому они работают в более ранних версиях Windows 10.All versions of WinUI provide a wide assortment of official UI controls for your Windows apps, and are suppplied as a NuGet package independent of the Windows SDK, so they work on earlier versions of Windows 10. Чтобы установить WinUI, выполните эти инструкции.Follow these instructions to install WinUI.
RadialGradientBrushRadialGradientBrush Новый объект RadialGradientBrush в WinUI 2.4 заполняет область внутри эллипса, который определяется свойствами Center, RadiusX и RadiusY.New in WinUI 2.4, a RadialGradientBrush is drawn within an ellipse defined by Center, RadiusX, and RadiusY properties. Начальный цвет градиента определяется в центре эллипса, а конечный — в конце радиуса.Colors for the gradient start at the center of the ellipse and end at the radius.
ProgressRingProgressRing Новый элемент управления ProgressRing в WinUI 2.4 используется для модальных взаимодействий, при которых действия пользователя блокируются до исчезновения ProgressRing.New in WinUI 2.4, the ProgressRing control is used for modal interactions where the user is blocked until the ProgressRing disappears. Используйте этот элемент управления, если для операции требуется приостановить значительную часть взаимодействий с приложением до ее завершения.Use this control if an operation requires that most interaction with the app be suspended until the operation is complete.
TabViewTabView Обновления элемента управления TabView обеспечивают дополнительный контроль над отображением вкладок.Updates to the TabView control provide you with more control over how to render tabs. Вы можете задать ширину невыбранных вкладок и показать только значок для сохранения экранного пространства. Кроме того, можно скрыть кнопку закрытия на невыбранных вкладках, пока пользователь не наведет указатель мыши на вкладку.You can set the width of unselected tabs and show just an icon to save screen space, and can also hide the close button on unselected tabs until the user hovers over the tab.
Элементы управления TextBoxTextBox controls Теперь, когда включена темная тема, при вставке текста цвет фона элементов управления семейства TextBox по умолчанию остается темным.When dark theme is enabled, the background color of TextBox family controls now remains dark by default on text insertion. Затронутые элементы управления: TextBox, RichEditBox, PasswordBox, Редактируемый ComboBox и AutoSuggestBox.Affected controls are TextBox, RichEditBox, PasswordBox, Editable ComboBox, and AutoSuggestBox.
NavigationViewNavigationView Элемент управления NavigationView теперь поддерживает иерархическую навигацию и режимы отображения Left, Top и LeftCompact.The NavigationView control now supports hierarchical navigation and includes Left, Top, and LeftCompact display modes. Иерархический элемент управления NavigationView полезен для отображения категорий страниц и определения страниц со связанными дочерними страницами, а также для использования приложений со звездообразной топологией страниц, когда одна страница может быть связана со многими другими страницами.A hierarchical NavigationView is useful for displaying categories of pages, identifying pages with related child-pages, or using within apps that have hub-style pages linking to many other pages.
Коллекция пользовательского интерфейса WindowsWindows UI Gallery Примеры каждой функции WinUI доступны в коллекции элементов управления XAML.Examples of each WinUI feature are available in the XAML Controls Gallery. Скачайте ее с Microsoft Store или просмотрите исходный код на сайте GitHub.Download it on the Microsoft Store, or view the source code on Github.
Предыдущие версииPrevious versions После предыдущего основного выпуска пакета SDK для Windows 10 были также выпущены WinUI 2.3 и WinUI 2.2, которые предоставляют новые функции пользовательского интерфейса для разработчиков Windows.Since the previous major release of the Windows 10 SDK, WinUI 2.3 and WinUI 2.2 were also released, providing further new UI features for Windows devs.

примерыSamples

Следующие примеры приложений были обновлены для Windows 10 (сборка 19041).The following sample apps have been updated to target Windows 10 build 19041.

ВидеоVideos

Терминал Windows: секрет счастливой работы с командной строкой!Windows Terminal: the secret to command line happiness!

Узнайте, как настроить Терминал Windows для рабочего процесса, и просмотрите демоверсии его функций в действии.Learn about how to customize the Windows Terminal for your workflow, and see demos of its features in action. Посмотрите это видео, а затем изучите документацию для получения дополнительной информации.Check out the video, then read the docs for more information.

WSL2: быстрая работа с кодом в подсистеме Windows для LinuxWSL2: Code faster on the Windows Subsystem for Linux

Узнайте все о WSL2, новой версии подсистемы Windows для Linux, и изменениях для повышения производительности.Learn all about WSL2, the new version of the Windows Subsystem for Linux, and what changes have been made to improve performance. Посмотрите это видео, а затем изучите документацию для получения дополнительной информации.Check out the video, then read the docs for more information.

MSIX. Упаковка классических приложений для Windows 10.MSIX: Package desktop apps for Windows 10. Замена устаревших установщиков.Replace outdated installers.

Узнайте о MSIX, формате пакета для установки приложений Windows, в том числе об упаковке существующего кода в Visual Studio, а также о развертывании и распространении приложения.Learn about MSIX, the package format for installing Windows apps, including how to package your existing code with Visual Studio and how to deploy and distribute your app. Посмотрите это видео, а затем изучите документацию для получения дополнительной информации.Check out the video, then read the docs for more information.