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

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

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

Оформление и пользовательский интерфейс

Функция Description
Условный код XAML Теперь можно использовать условный XAML для создания адаптивных к версии приложений. Условный XAML позволяет использовать метод ApiInformation.IsApiContractPresent в разметке XAML, чтобы настраивать свойства и создавать экземпляры объектов в разметке в зависимости от наличия API, без использования кода программной части.
Наборы инструментов для проектирования Инструменты и ресурсы проектирования для приложений UWP были расширены путем добавления наборов инструментов для рисования эскизов и Adobe XD. Существовавшие ранее наборы инструментов также были обновлены и модернизированы и теперь предоставляют более надежные элементы управления и шаблоны макетов для приложений UWP. Кроме того, были добавлены новые инструменты и образцы для предоставления примеров и идей.
Эффекты системы проектирования Fluent Чтобы помочь пользователям сосредоточиться на важных элементах пользовательского интерфейса, в новых эффектах, входящих в систему проектирования Fluent, используются глубина, перспектива и движение.
* Акриловый материал — это тип кисти, которая создает прозрачные текстуры.
* Эффект параллакса добавляет в приложение трехмерную глубину и перспективу.
* Эффект отображения выделяет важные элементы приложения.
Дополнительные сведения см. в разделе Обзор системы проектирования Fluent Design.
Сочетания клавиш Повысьте доступность и удобство использования приложения с помощью ускорителей клавиатуры или сочетаний клавиш. Они обеспечивают интуитивно понятный способ вызова пользователями распространенных действий или команд без перемещения по пользовательскому интерфейсу приложения. Их можно настроить в соответствии с областью, необходимой для их функционирования.
Рукописный ввод API-интерфейсы CoreIncrementalInkStroke позволяют создавать отдельные росчерки пера, которые могут обрабатываться постепенно с помощью отдельных объектов InkPoint.

API-интерфейсы CoreInkPresenterHost позволяют размещать объект InkPresenter без связанного элемента управления InkCanvas.
Радиальный контроллер В API-интерфейсы RadialControllerConfiguration была добавлена возможность определения области меню RadialController для представления или процесса приложения.
Живые плитки Закрепите вспомогательные плитки из приложений моста для классических приложений Win32.
Всплывающие уведомления Используйте ожидание обновления для кнопок, чтобы обеспечить многоэтапную интерактивность всплывающих уведомлений.
Элементы управления пользовательским интерфейсом Новые элементы управления позволяют легко и быстро создавать привлекательный пользовательский интерфейс.
* Элемент управления "Палитра" позволяет просматривать и выбирать цвета.
* Элемент управления "Представление навигации" упрощает добавление навигации верхнего уровня в приложение.
* Элемент управления "Аватар пользователя" отображает аватар пользователя.
* Элемент управления "Оценка" позволяет легко просматривать и ставить оценки, отражающие степень удовлетворенности содержимым и службами.
Стиль и тон Мы добавили новые рекомендации по стилю и тону в приложениях UWP, где даем советы по написанию текста для вашего приложения. Независимо от того, что вы разрабатываете, важно использовать доступный, понятный и информативный язык.

Игры

Функция Description
Трансляции игр Новые интерфейсы API в пространстве имен Windows.Media.AppBroadcasting позволяют приложению запускать предоставленный системой пользовательский интерфейс трансляции игр.
Вы также можете зарегистрировать события, уведомляющие приложение о запуске или остановке трансляции. Новые API-интерфейсы в пространстве имен Windows.Media.AppRecording позволяют записывать звук и видео, а также делать снимки игрового процесса.
Вы также можете предоставить метаданные, которые система будет внедрять в широковещательные и перехватные потоки, позволяя приложениям предоставлять возможности просмотра, синхронизированные с событиями игрового процесса. Дополнительные сведения об этих возможностях см. в разделе Трансляция и запись игрового процесса.
Наложение игрового чата Класс GameChatOverlay предоставляет методы для получения экземпляра наложения игрового чата по умолчанию, установки нужной позиции наложения и добавления в чат сообщений.
Сведения об игровом устройстве Из-за различия возможностей консолей разработчикам игр для универсальной платформы Windows (UWP) необходим способ определения типа консоли, на которой выполняется игра, чтобы во время выполнения принимать решения о том, как лучше всего использовать оборудование. Эту функциональность предоставляют API-интерфейсы сведений об игровом устройстве в заголовке <gamingdeviceinformation.h>.
Режим игры API-интерфейсы режима игры для универсальной платформы Windows (UWP) позволяют создавать оптимизированные игровые среды, используя режим игры в Windows 10. Эти API находятся в заголовке <expandedresources.h>.
Монитор игры Класс GameMonitor позволяет приложению получать состояние разрешения монитора игр на устройстве и потенциально предлагать пользователю включить мониторинг игр.
TruePlay TruePlay предоставляет разработчикам новый набор инструментов для борьбы с мошенничеством в компьютерных играх. Игры, зарегистрированные в TruePlay, будут выполняться в защищенном процессе, который обеспечивает защиту от определенного класса распространенных атак. API-интерфейсы TruePlay для универсальной платформы Windows (UWP) обеспечивают ограниченное взаимодействие между игрой и системой мониторинга игр на компьютерах с Windows 10. Эти API находятся в заголовке <gamemonitor.h>. В Windows 10, версия 1809 (10.0; сборка 17763) TruePlay не используется. Документация по TruePlay не опубликована.
Xbox Live Мы добавили документацию для разработчиков Xbox Live для игр UWP и XDK (комплект средств для разработчика Xbox).
* Из руководства для разработчиков Xbox Live вы узнаете, как использовать API Xbox Live для подключения игры к социальной игровой сети Xbox Live.
*С помощью программы Xbox Live Creators Program любой разработчик игр на UWP сможет разработать и опубликовать игру с поддержкой Xbox Live как для ПК, так и для Xbox One.
*См. сведения о программах и функциях, доступных разработчикам Xbox Live, в разделе с обзором программ для разработчиков Xbox Live.

Разработка приложений для Windows

Функция Description
Активация приложений UWP Теперь доступны следующие новые функции:
* Использование класса StartupTask для настройки запуска приложения UWP при входе пользователя в систему или при запуске системы.
* Определение запуска приложения UWP из командной строки.
* Программный запрос перезапуска приложения UWP с помощью API-интерфейсов RequestRestartAsync() and RequestRestartForUserAsync().
* Запуск приложения "Параметры" для Windows обновлен с учетом новых схем URI, таких как ms-settings:storagesense, ms-settings:cortana-notifications и другие.
Создание пакетов приложений В Установщик приложений добавлена возможность загрузки пакетов приложений UWP с веб-страниц. Кроме того, соответствующие наборы пакета приложения теперь можно скачать с помощью Установщика приложений. Дополнительные сведения см. в новом разделе Установка приложений UWP с помощью Установщика приложений.
Службы и расширения приложений Мы добавили новое руководство Создание и использование расширения приложения, чтобы помочь вам создавать и размещать расширения приложений универсальной платформы Windows (UWP) с помощью пакетов, которые пользователи могут установить через Microsoft Store.

Мы добавили новое руководство под названием Расширение приложения за счет служб, расширений и пакетов, классифицирующее различные технологии в Windows 10, которые можно использовать для расширения и разделения на компоненты вашего приложения.
Фоновые задачи Мы добавили три руководства, которые помогут вам воспользоваться преимуществами фоновых задач:

* Выполнение в фоновом режиме в течение неограниченного срока для использования всех ресурсов, доступных на устройстве, без регулирования фонового и расширенного сеанса выполнения. Это относится к корпоративным приложения UWP и приложениям UWP, которые не будут отправлены в Microsoft Store.

* Активация фоновой задачи в приложении для активации фоновых задач в вашем приложении.

* Запуск фоновой задачи при обновлении приложения UWP для создания фоновой задачи, которая выполняется при обновлении приложения UWP.
Кортана Используйте набор навыков Кортаны для добавления и тестирования навыков, расширяющих естественную функциональность Кортаны и позволяющих ей взаимодействовать с вашими приложениями и службами.
Мост для классических приложений Мы добавили три руководства, которые помогут вам добавлять современные взаимодействия к классическим приложениям для Windows 10:
* Руководство по улучшению классических приложений для Windows 10 содержит сведения о том, как найти нужные файлы, воспользоваться ими и написать код для улучшения приложений UWP для пользователей Windows 10.

* В разделе о добавлении современных компонентов UWP в классические приложения вы найдете информацию по добавлению современных элементов пользовательского интерфейса XAML и прочих элементов UWP, которые должны выполняться в контейнере приложений UWP.

* Руководство по переносу приложения на универсальную платформу Windows содержит сведения о совместном использовании кода в приложениях WPF, Windows Forms, UWP, Android и iOS.
Упаковка с использованием моста для классических приложений В Visual Studio появился новый проект упаковки, исключающий все выполняемые вручную шаги, которые раньше использовались для упаковки классического приложения с полным доверием. Просто добавьте проект упаковки и ссылку на проект классического приложения, а затем нажмите клавишу F5, чтобы выполнить отладку приложения. Вносить изменения вручную не требуется. Это новое упрощенное взаимодействие представляет собой значительное улучшение по сравнению с возможностями предыдущей версии Visual Studio.
Диагностика и использование потоков Новые API-интерфейсы диагностики содержат информацию о запущенных приложениях:

* Класс AppMemoryReport предоставляет информацию об общем пределе выделения памяти приложения, потреблении частной выделенной памяти и т. д.
* Класс AppDiagnosticInfo теперь позволяет отслеживать состояние выполнения приложения или задачи и уведомляет об изменении состояния выполнения.
* Класс MemoryManager включает новые методы, позволяющие устанавливать ограничения использования памяти приложением и передавать ожидаемое ограничение использования памяти.

Задачи можно ставить в очередь в порядке приоритета и запускать их в другом потоке с помощью класса DispatcherQueue. Эта возможность также доступна из Win32 с помощью функции CreateDispatcherQueueController.
EdgeHTML 16 Веб-платформа, поддерживающая приложения Microsoft Edge и приложения универсальной платформы Windows на основе JS, была обновлена до EdgeHTML 16 и теперь включает важные усовершенствования для Средств разработчика F12, макет сетки CSS и другие важные функции.

* Теперь в Microsoft Edge поддерживается макет сетки CSS. Макет сетки определяет систему макета на основе двумерной сетки, которая повышает гибкость макета по сравнению с использованием плавающих областей или сценария.

* Документы по средствам разработчика F12 в Microsoft Edge были обновлены для повышения надежности и производительности. Также были добавлены новые функции для оптимизации процесса разработки.

* Только в Microsoft Edge в WebVR была добавлена поддержка контроллеров движения и разнообразных гарнитур смешанной реальности Windows Mixed Reality. WebVR также была оптимизирована для поддержки до 90 кадров в секунду.

Полный список изменений и поддерживаемых API-интерфейсов см. в руководстве разработчика Microsoft Edge.
Нанесение трехмерных элементов на карту Трехмерные объекты можно добавлять на карту. Можно использовать новый класс MapModel3D для импорта трехмерного объекта из файла в трехмерном производственном формате (3MF).
Настройка стиля элементов карты Внешний вид элементов карты можно настроить с помощью двух новых свойств MapElement : MapStyleSheetEntry и MapStyleSheetEntryState.

* Свойство MapStyleSheetEntry можно использовать, чтобы элементы карты выглядели так, будто они являются частью базовой карты (например, задав стиль элемента, соответствующий существующей записи в таблице стилей карты, такой как Water).

* Свойство MapStyleSheetEntryState можно использовать для изменения внешнего вида элементов на карте, используя состояния по умолчанию, такие как Hover и Selected в таблице стилей карты, или переопределить их для создания собственных состояний.
Слои карты Вы можете добавить элементы точек интереса на слой карты, а затем привязать данные XAML непосредственно к этому слою. Сгруппируйте элементы в слои. Это позволит управлять слоями независимо друг от друга. Например, каждый слой имеет собственный набор событий, поэтому можно реагировать на событие в определенном слое и выполнить действие для этого события.
Информация о месте на карте Можно отобразить карту внутри облегченного всплывающего окна выше, ниже или рядом с элементом пользовательского интерфейса или области приложения, которых касается пользователь. Такое окно автоматически закрывается, когда пользователь изменяет контекст. Это позволяет пользователям получать сведения о местоположении без необходимости переключаться на другое приложение или окно браузера.
Службы карт Отправляетесь по живописным местам? Используйте новое значение MapRouteOptimization.Scenic для оптимизации маршрута и включения в него самых живописных дорог, и значение MapRoute.IsScenic, чтобы определить, включает ли существующий маршрут живописные дороги.
Запись мультимедиа Статья Обработка мультимедийных кадров с помощью MediaFrameReader была обновлена, и описывает использование нового класса MultiSourceMediaFrameReader, который позволяет получить коррелирующие по времени кадры из нескольких источников мультимедиа.

Раздел Обработка кадров мультимедиа с помощью MediaFrameReader обновлен и теперь включает описание режима получения кадров с буферизацией, который позволяет приложениям запрашивать предоставление кадров приложению последовательно, без пропуска кадров, которые были получены, пока приложение обрабатывало предыдущий кадр.

Кроме того, если объект MediaCapture был инициализирован с помощью группы источников кадров мультимедиа, содержащей один или несколько источников кадров мультимедиа, можно создать объект MediaSource, который позволяет представить кадры мультимедиа в элементе управления MediaPlayerElement страницы XAML.

Для дополнительных сведений см. раздел Обработка кадров мультимедиа с помощью MediaFrameReader.
Воспроизведение мультимедиа Новые разделы добавлены в основную статью о воспроизведении мультимедиа: Воспроизведение звука и видео с помощью MediaPlayer.

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

В разделе Использование MediaPlayer в режиме сервера кадров показано, как копировать кадры из мультимедиа, воспроизводимого с помощью MediaPlayer, на поверхность Direct3D. Это позволяет реализовывать такие сценарии, как применение эффектов в режиме реального времени с помощью построителей текстуры. В примере кода показана быстрая реализация эффекта размытия для воспроизведения видео с помощью Win2D.
"Близкие люди" Функция "Близкие люди" позволяет пользователям закреплять контакты из приложения непосредственно на панели задач. Узнайте, как добавить в приложение поддержку функции "Близкие люди".

* Функция Публикации близких людей позволяет делиться файлами с помощью приложения непосредственно с панели задач.
* Уведомления близких людей — это новый вид всплывающих уведомлений, которые пользователи могут отправлять закрепленным контактам.
.NET Standard 2.0 В универсальной платформе Windows полностью реализован стандарт .NET Standard 2.0. Новая версия стандарта включает значительное увеличение числа API-интерфейсов .NET, а также оболочку совместимости для избранных пакетов NuGet и сторонних библиотек.

Если вы планируете разрабатывать приложения для других платформ, таких как iOS и Android, или имеете классическое приложение и хотите создать приложение UWP, переместите код в библиотеки классов .NET Standard 2.0 и затем используйте этот код в каждой версии вашего приложения.
Закрепление на панели задач Новый класс TaskbarManager позволят попросить пользователя закрепить приложение на панели задач.
POS-терминал Добавлено новое руководство, которое поможет вам приступить к работе с устройствами точки обслуживания. В руководстве рассматриваются такие вопросы, как перечисление устройств, проверка возможностей устройств, объявление устройств и предоставление общего доступа к устройствам.
Распознавание речи Теперь вы можете использовать SpeechRecognitionListConstraint вместе с веб-службой SpeechRecognitionTopicConstraint для повышения точности диктовки путем предоставления набора ключевых слов конкретного домена, которые с большой вероятностью будут использоваться во время диктовки.
Действия пользователей Новый API-интерфейс Windows.ApplicationModel.UserActivities позволяет инкапсулировать задачу пользователя, которая может быть продолжена позже и, возможно, на другом устройстве.

Публикация и монетизация приложений для Windows

Функции, представленные в этом разделе, были добавлены с момента выпуска предыдущей версии Windows 1703. Они доступны всем разработчикам Windows и не требуют обновленного пакета SDK.

Функция Description
Управление учетной записью Теперь обеспечивается повышенная гибкость при связывании клиентов Azure AD с учетной записью Центра разработки за счет возможности добавления нескольких пользователей учетной записи. Вы можете связать несколько клиентов Azure AD с одной учетной записью Центра разработки или один клиент Azure AD с более чем одной учетной записью Центра разработки.
Реклама Microsoft Advertising SDK теперь позволяет отображать собственные рекламные объявления в приложениях. Собственные объявления — это формат на основе рекламных компонентов, где каждая часть рекламного объявления (например, заголовок, изображение, описание и призыв к действию) доставляется приложение в виде отдельного элемента. Возможность создавать собственные объявления в настоящее время доступна только отдельным разработчикам, участвующим в пилотной программе, но мы планируем сделать этот компонент доступным для всех разработчиков в скором времени.
Цены и доступность Новые параметры цен и доступности позволяют спланировать изменение цен и задать точные даты выпуска.
API-интерфейс аналитики для Store API аналитики для Microsoft Store теперь предоставляет способ для загрузки связанного с ошибкой приложения CAB-файла.
Список магазинов Описания в Store дополнены новыми возможностями привлечения будущих пользователей:
* Описание приложения в Store теперь может включать видеоанонсы.

* Можно импортировать и экспортировать описания в Store, чтобы делать обновления быстрее, особенно если вы используете описания на нескольких языках.
API отправки API отправки в Microsoft Store теперь позволяет включить видеоанонсы и параметры игры в отправки приложений.
Целевые предложения Целевые предложения позволяют разделить пользователей на сегменты и предлагать им привлекательный, персонализированный контент, чтобы повысить вовлеченность, коэффициент удержания и монетизацию.

Примеры

Планировщик обеда

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

  • Интеграция со такими службами, как Facebook, Microsoft Graph для аутентификации, операций на основе графов и обнаружение друзей.
  • Работа с Yelp и Картами Bing для рекомендаций ресторанов.
  • Встраивание элементов системы проектирования Fluent в приложение UWP, таких как акрил, эффект отображения и подключенные анимации.

Игра-викторина

Образец приложения "Игра-викторина" (API удаленных системных сеансов) показывает, как использовать API удаленных системных сеансов в контексте игры-викторины. Узел отправляет вопросы на ближайшие устройства, а участники отвечают на них на своих устройствах.

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