Новые возможности для разработчиков в Windows 10, сборка 15063

Windows 10 сборки 15063 (также известная как Creators Update или версия 1703), в сочетании с Visual Studio 2019 и обновленным пакетом SDK предоставляет инструменты, функции и возможности для создания удивительных приложений универсальной платформы Windows. Установив средства и пакет SDK в Windows 10, вы можете сразу приступить к созданию нового проекта универсального приложения для Windows или использованию существующего кода приложения в Windows.

В этой статье приводится подборка новых и улучшенных функций для разработчиков. Полный список новых пространств имен, добавленных в Windows SDK, см. в статье Новые API в Windows 10 (сборка 15063). Дополнительные сведения об основных функциях Windows 10 см. в разделе Потрясающие возможности Windows 10. Кроме того, в списке возможностей платформы разработки Windows можно найти краткий обзор прошлых и будущих дополнений к ней.

Windows 10 (сборка 15063) — март 2017 г.

Функция Description
Фоновые задачи Теперь фоновые задачи теперь можно регистрировать в группы, что примерно эквивалентно пространству имен для фоновых задач. Вы можете зарегистрировать задачу или отменить ее регистрацию в рамках группы, чтобы изолировать эти регистрации. Такая изоляция позволяет убедиться, что различные компоненты приложения или отдельные библиотеки не мешают регистрации фоновых задач друг друга.

Предприятия могут включать или отключать фоновую активность для приложений UWP, используя понятное имя их пакета.

Теперь фоновые задачи могут быть многоэкземплярными. Вы можете указать, чтобы каждый экземпляр выполнялся в новом процессе, который имеет собственные ограничения ЦП и памяти.
Bluetooth с низким энергопотреблением Теперь публикуемые службы Generic Attribute (GATT) поддерживаются на переднем плане в классе GattServiceProvider и в фоновом режиме в классе GattServiceProviderTrigger.

Роль периферийного устройства Bluetooth теперь доступна в поддерживаемых радиомодулях. Чтобы проверить наличие поддержки, используйте свойство IsPeripheralRoleSupported.

Сначала установите связь с устройствами Bluetooth с низким энергопотреблением, не связывая их. См. сведения о классе Windows.Devices.Bluetooth.BluetoothLEDevice и API, которые используются для несвязанных подключений в пространстве имен GenericAttributeProfile.
Создание В пространстве имен Windows.UI.Composition представлено большое количество новых или обновленных API:
* AnimationDelayBehavior enum
* CompositionCapabilities class
* CompositionDrawingSurface class
* CompositionGraphicsDevice class
* CompositionVirtualDrawingSurface class
* Compositor class
* KeyFrameAnimation class
* Visual class
* CompositionConditionalValue class
* InteractionTracker class
* VisualInteractionSource class
Контакты Закрепите контакты на панели задач или в меню "Пуск". На новой упрощенной панели контактов, которая появляется, когда пользователи щелкают закрепленный контакт, настройте отображение контактных данных. Предоставьте пользователям возможность выбрать ссылку на панели контактов, чтобы просмотреть контакт в вашем приложении.
Обновление примера "База данных заказов клиентов" Пример База данных заказов клиентов на GitHub был обновлен. Теперь в нем используется элемент управления "сетка данных" и проверка вводимых данных из пакета пользовательского интерфейса для UWP от компании Telerik. Пользовательский интерфейс для набора UWP — это коллекция из более чем 20 элементов управления, доступная в качестве проекта с открытым исходным кодом в фонде .NET.
Мост для классических приложений Новые расширения приложений помогут перевести пользователей на преобразованную версию вашего приложения и предложить им новые способы его запуска, а также выполнить интеграцию с проводником и другими приложениями. См . классический мост для UWP: расширения приложений.

Запустите процессы, не входящие в пакет приложения, и выполните их в виртуализированной среде преобразованного приложения. Эти процессы будут иметь доступ к ресурсам приложения, таким как DLL-файлы. См. сведения об атрибуте PROC_THREAD_ATTRIBUTE_DESKTOP_APP_POLICY в функции UpdateProcThreadAttribute.
Direct3d В Direct3D 12 были добавлены новые API для поддержки копий атомарного буфера (включающей методы поздней фиксации), программируемых позиций примеров, тестирования глубины границ, приоритетов места проживания и прочего.

Для поддержки сценариев с несколькими устройствами в Direct3D 11 и сценариев взаимодействия между Direct3D 11 и Direct3D 12 были добавлены API границ. Теперь среда выполнения поддерживает кэширование шейдеров под управлением ОС для улучшения производительности и ускорения загрузки приложения.
EdgeHTML 15 Веб-платформа, поддерживающая приложения Microsoft Edge и приложения универсальной платформы Windows на основе JS, была обновлена до EdgeHTML 15 и теперь среди прочего включает поддержку API запроса платежей, WebVR и Content Security Policy 2. Полный список изменений см. в руководстве разработчика Microsoft Edge.
FlightStick и RawGameController В пространство имен Windows.Gaming.Input были добавлены новые API, включая поддержку для ручки управления самолетом, а также примитивного игрового устройства управления, позволяющие собирать входные данные с любого типа устройства управления и дающие игроку возможность выбирать сопоставления пользовательского ввода.
Высокий коэффициент DPI в Win32 В классические приложения добавлен новый контекст поддержки определения DPI на уровне монитора версии 2. Он по-прежнему автоматически настраивает коэффициент масштабирования окон при каждом соответствующем изменении DPI, но теперь он также позволяет приложениям получать доступ к новым параметрам масштабирования DPI на основе окна верхнего уровня.
Чернила Рукописный ввод добавляет поддержку для наборов элементов транспортира и линейки, метки времени ввода рукописных данных, усовершенствованного маркера высокой контрастности и программного создания росчерков пера.

Анализ рукописного ввода может предоставлять разбор ввода с помощью пера для приложений Windows Ink, включая обнаружение и распознавание фигур, распознавание рукописного ввода, а также интерпретацию и классификацию макета.

Были выполнены общие усовершенствования панели инструментов рукописного ввода, включая кнопку набора элементов (для линейки и транспортира), типы элемента управления "Всплывающий элемент", а также расположение и ориентацию всплывающего элемента.

Теперь вы можете задать приложение рукописного ввода в Ink Workspace.
Внедрение ввода Внедрение ввода обеспечивает поддержку программного создания и автоматизации ввода с различных устройств.
IoT Обновления до Windows IoT Базовая включают поддержку Кортаны, улучшения для панели мониторинга Интернета вещей, поддержку управления устройствами в Azure и Device Guard для Интернета вещей. Полный обзор новых функций см. в разделе Новые возможности Windows 10 IoT Базовая.
Карты Добавьте изображение на карту, например изображение ресторана. Эти изображения будут изменять размер и появляться и исчезать в зависимости от масштаба карты. См. сведения о классе MapBillboard.

Откройте элементы карте, используя область, к которой пользователь прикасается пальцами или с помощью пера. См. сведения о MapControl.FindMapElementsAtOffset.

Добавьте функции, которые позволяют перемещаться по карте вверх, вниз или в стороны. См. сведения о MapControl.StartContinuousPan, MapControl.TryPanAsync и MapControl.TryPanToAsync.

Добавьте отбивку в элементе управления картой. См. сведения о MapControl.ViewPadding.

Настройте внешний вид карты и удобство ее использования с помощью таблицы стилей. Воспользуйтесь готовыми таблицами стилей или создайте пользовательские с помощью JSON. Объедините таблицы стилей для создания нужного внешнего вида. См. сведения о MapControl.StyleSheet и MapStyleSheet.
Службы карт Скачайте пакеты карт для автономного использования. См. сведения о Windows.Services.Maps.OfflineMaps.

Добавьте указатели, позволяющие задавать путь, который нужно проложить между точками маршрута. См. сведения о классе EnhancedWayPoint.

Получите значение приблизительного времени в пути без учета ситуации на дорогах. См. сведения о MapRouteLeg.DurrationWithoutTraffic и MapRoute.DurationWithoutTraffic.

Получите сведения об уровне загруженности дорог. См. сведения о MapRouteLeg.TrafficCongestion и MapRoute.TrafficCongestion.

Выявите потенциальные проблемы по всей линии маршрута или его участка, например наличие грунтовых дорог, погодные условия на трассе или запланированные события в этой области. См. сведения о MeneuverWarning.
Запись мультимедиа Появилось событие CaptureDeviceExclusiveControlStatusChanged, позволяющее включить прослушивание, когда другие приложения получают и передают исключительное управление устройством захвата.

Добавлен класс MultiSourceMediaFrameReader, позволяющий получить коррелированные по времени кадры от нескольких устройств захвата.

Теперь объекты DepthMediaFrame предоставляют свойства MinReliableDepth и MaxReliableDepth, позволяющие закреплять значения глубины в надежном диапазоне.
Кодирование мультимедиа Используйте новый класс CodecQuery для запроса аудио- и видеокодировщиков и декодеров, установленных на текущем устройстве.

Добавлены новые статические методы для создания свойств кодирования (для видео в формате HEVC — CreateHevc, для аудио в формате FLAC и ALAC — CreateFlac и CreateAlac).
Воспроизведение мультимедиа Свойство CurrentMediaPlaybackItemChangedEventArgs.Reason позволяет узнать, почему изменилась текущая воспроизводимая дорожка в списке, например, приложение с помощью программных средств переключило элементы, предыдущий воспроизводимый элемент достиг окончания или возникла ошибка.

Свойство MaxPlayedItemsToKeepOpen позволяет указать максимальное количество объектов MediaPlaybackItem, которые система будет держать открытыми после воспроизведения.

Свойство IsDisabledInPlaybackList позволяет отключить воспроизведение отдельных объектов MediaPlaybackItem в списке MediaPlaybackItemList.

MediaSource теперь поддерживает ChapterCue, позволяя приложению реагировать при изменении текущей главы (например, в видео формата MKV). Добавлен класс SpeechCue, позволяющий приложению реагировать на границы слова, границы предложения и закладки SSML в мультимедиа преобразования текста в речь. Кроме того, с помощью класса ImageCue поддерживаются субтитры на основе образа (такие как VobSub и PGS).

Для адаптивной потоковой передачи были добавлены классы AdaptiveMediaSourceDownloadStatistics и AdaptiveMediaSourceDiagnostics, предоставляющие данные телеметрии об адаптивных медиа-запросах. Аргументы события для состояния и события диагностики включают свойство RequestId, которое можно использовать для сопоставления различных событий для отдельного запроса.

MediaBinder, позволяющий уступить мультимедийное содержимое привязки классу MediaSource на время его воспроизведения, теперь поддерживает класс AdaptiveMediaSource..

Класс MediaPlayer теперь поддерживает сферическую проекцию видео, включая программную настройку поля зрения и ориентации представления для воспроизведения.

MediaPlayer можно перевести в режим сервера кадров, задав свойство IsVideoFrameServerEnabled. В этом режиме проигрыватель не представляет сами видеокадры, а вызывает событие VideoFrameAvailable для каждого из них. Используйте метод CopyFrameToVideoSurface в обработчике этого события, чтобы скопировать кадр в интерфейс IDirect3DSurface для настраиваемой обработки с помощью шейдеров. Метод CopyFrameToStereoscopicVideoSurfaces позволяет копировать содержимое кадра для левого и правого глаза, чтобы разделить поверхности.
Пакеты Разработчики могут разбить свои приложения на компоненты, разделив функционал и содержимое на дополнительные пакеты. См. сведения о методе PackageCatalog.AddOptionalPackageAsync, чтобы узнать, как установить дополнительные пакеты из вашего приложения, и о методе Package.SetInUse, чтобы узнать, как указать дополнительные пакеты, который должны получать автоматическое обновление из магазина при запуске приложения. Сведения о создании дополнительных пакетов и связанных наборов в Visual Studio см. в разделе Optional packages and related set authoring (Дополнительные пакеты и связанные наборы).
Платежи Новый API запроса платежей для приложений UWP позволяет разработчикам оптимизировать процесс оформления заказа в их приложениях.
Упрощение платежей в приложениях UWP
Windows.ApplicationModel.Payments
POS-терминал В пространство имен Windows.Devices.PointOfService добавлены новые API, включая поддержку для POS-устройств строкового дисплея, расширенные атрибуты символики штрихкода и новый метод для выбора устройств, который может быть ограничен определенными типами подключений.
SDK Project Rome для Android Компонент Project Rome для UWP теперь есть и на платформе Android. Теперь вы можете использовать устройство с Windows или Android для удаленного запуска приложений и продолжения выполнения задач на любом своем устройстве с Windows. Чтобы начать, см. официальный репозиторий Project Rome для кроссплатформенных сценариев.
Surface Dial В пространство имен RadialController были добавлены новые возможности для управления отображением меню, события кнопки меню RadialController, глифы шрифта кнопки меню и другие контроллеры осязания.

Используйте класс фоновой обработки радиальных контроллеров для управления их вводом в фоновом потоке.
Синтез речи Поток синтеза речи теперь поддерживает границы слова и предложения.
Задачи Создайте списки задач в стиле Exchange и добавьте в них задачи. Приложение также может читать и выполнять действия над задачами, созданными другими приложениями (например, задачи, созданные в Microsoft Outlook). См. сведения о пространстве имен Windows.ApplicationModel.UserDataTasks и Windows.ApplicationModel.UserDataTask.DataProvider. Форма и иерархия этих API похожа на форму и иерархию пространств имен для API встреч, контактов и почты.
Плитки и уведомления Новые API-интерфейсы основной плитки позволяют проверить, закреплено ли приложение, и попросить закрепить приложение на начальном экране.

Используйте индикатор выполнения во всплывающих уведомлениях, назначьте пользовательскую отметку времени и сгруппируйте свои всплывающие уведомления в заголовках.

Всплывающие уведомления, использующие сценарий будильника, теперь будут отображаться даже в режиме "Не беспокоить".
Потоковая установка приложений UWP Потоковая установка позволяет запустить ваше приложение до полной его установки и быстрее включиться в работу с ним. Вы можете определить обязательные файлы, которые необходимо скачать до того, как ваше приложение сможет запуститься, и указать приоритет файлов, которые будут скачиваться в фоновом режиме в зависимости от интереса, проявляемого к приложению со стороны пользователей. Общие сведения о принципах потоковой установки см. в статье UWP App Streaming Install (Потоковая установка приложений UWP), а информацию о разделении приложения на группы файлов, предназначенные для потоковой передачи, — в разделе Создание и преобразование исходного файла сопоставления группы содержимого.
Visual Studio 2017 Для Visual Studio 2017 ожидается обновление с улучшенными средствами UWP для поддержки выпуска Creators Update и дополнения инструментов Python. Ознакомьтесь с обзором новых функций, которые появятся в этом обновлении.
Windows Information Protection (WIP) Получите основное удостоверение более удобными способами: с помощью свойства либо с помощью дополнительного или дочернего удостоверения.

С легкостью определите, требуется ли защита для любого заданного файла. Это избавит вас от необходимости защищать файлы, такие как библиотеки DLL, исполняемые файлы или другие файлы конфигурации.

Теперь при необходимости снять защиту с файла вы можете легко это сделать.

Запросите временный доступ к защищенному содержимому от имени другого приложения или запущенного процесса. Это поможет в случаях, если ваше приложение взаимодействует с защищенными данными с помощью как защищенных, так и незащищенных процессов, либо если оно взаимодействует с другими приложениями, которые не входят в политиках в список разрешенных.

См. сведения о классах ProtectionPolicyManager и FileProtectionManager.
Windows Mixed Reality Чтобы поддержать развивающуюся платформу Windows Mixed Reality, в пространства имен Windows.Graphic.Holographic, Windows.Perception.Spatial и Windows.UI.Input.Spatial были добавлены новые API.
Элементы управления XAML ContentDialog теперь имеет три кнопки: Primary, Secondary и Close. Также можно установить одну из кнопок в качестве действия по умолчанию.

Используйте свойство ShowAsMonochrome для отображения растровых значков как одноцветных или полноцветных.

С помощью нового триггера SelectionChangedTrigger можно изменить то, как ComboBox обрабатывает выбор с клавиатуры.

Новые API PrepareConnectedAnimation и TryStartConnectedAnimationAsync элемента управления ListViewBase облегчают использование связанных анимаций с представлениями списка и сетки.

Новое свойство Icon позволяет добавить значок к MenuFlyoutItem или MenuFlyoutSubItem.

Класс SvgImageSource позволяет добавить изображение SVG в XAML.

С помощью класса LoadedImageSurface можно добавить поверхность композиции в XAML.
С помощью класса XAMLLight и свойства UIElement.Lights можно добавить эффекты CompositionLight в XAML.

С помощью XamlCompositionBrushBase можно использовать кисти композиции в XAML.