Пакет SDK для приложений Windows

Пакет SDK для приложений Windows — это набор компонентов и инструментов для разработчиков, которые представляют новый этап развития платформы для разработки приложений Windows. Пакет SDK для приложений Windows предоставляет унифицированный набор API-интерфейсов и средств, которые можно единообразно применять для любого классического приложения в операционных системах Windows 11 и более ранних версий, вплоть до Windows 10 версии 1809.

Windows App SDK не заменяет ни Windows SDK, ни существующие типы классических приложений Windows, например .NET (включая Windows Forms и WPF) и классические приложения Win32 на языке C++. Напротив, пакет SDK для приложений для Windows дополняет эти существующие средства и типы приложений, предлагая популярный набор API, которые упрощают работу разработчиков. Дополнительные сведения см. в разделе Преимущества пакета SDK для приложений Windows.

Важно!

Если вы работаете с приложением UWP, см. статью Миграция с UWP на Windows App SDK.

Начало работы с пакетом SDK для приложений Windows

Пакет SDK для приложений для Windows предоставляет расширения для Visual Studio 2019 и Visual Studio 2022. К этим расширениям относятся шаблоны проектов, настроенные для использования компонентов пакета SDK для приложений для Windows в новых проектах. Кроме того, библиотеки пакета SDK для приложений Windows доступны через пакет NuGet, который можно установить в существующих проектах.

Если вы уже установили необходимые средства разработчика, вы можете создать простое приложение WinUI 3 или применить пакет SDK для приложений Windows в уже существующем проекте.

Рекомендации по конкретным версиям пакета Windows App SDK см. в статьях Каналы выпуска и Файлы для загрузки.

Функции пакета SDK для приложений для Windows

В следующей таблице описаны функции разработки, предоставляемые текущими выпусками пакета SDK для приложений для Windows. Дополнительные сведения о каналах выпуска пакета SDK для приложений для Windows, включая сведения о каждой из этих функций, см. в разделе Функции, доступные через канал выпуска.

Функция Описание
WinUI 3 Главная собственная платформа пользовательского интерфейса для классических приложений для Windows, включая управляемые приложения, использующие C# и .NET, и собственные приложения, использующие C++ с API Win32. WinUI 3 предоставляет согласованные интуитивно понятный и доступный интерфейс с возможностью использования новейших шаблонов пользовательского интерфейса.
Отрисовка текста с помощью DWriteCore Визуализируйте текст с помощью независимой от устройства системы макета текста, функции высококачественного субпиксельного рендеринга текста Microsoft ClearType, возможностей текста с аппаратным ускорением и многоформатного текста, широкой языковой поддержки и многого другого.
Управление ресурсами с помощью MRT Core Управляйте ресурсами приложений, такими как строки и изображения на нескольких языках, а также масштабированием и контрастностью вариантов независимо от логики приложения.
Жизненный цикл приложения: создание экземпляров приложений Управляйте возможностью одновременного выполнения нескольких экземпляров процесса приложения.
Жизненный цикл приложения: расширенная активация Обрабатывайте сведения о разных видах активаций для приложения.
Жизненный цикл приложения: управление питанием Узнайте, как ваше приложение влияет на энергопотребление устройства, и разрешите приложению принимать интеллектуальные решения об использовании ресурсов.
Управление окнами приложений Создавайте и администрируйте окна, связанные с приложением.
Push-уведомления Отправка необработанных уведомлений и уведомлений о приложениях в приложение из облака с помощью удостоверений регистрации приложения Azure.
Уведомления приложения Отправляйте уведомления о приложениях в свое приложение посредством локальной среды.
Развертывание Развертывание среды выполнения пакета SDK для приложений Windows с помощью неупакованных и упакованных приложений

Каналы выпуска пакета SDK для приложений Windows

В следующей таблице приведены общие сведения о различных каналах выпуска.

Выпуск Описание
Стабильный Этот канал поддерживается приложениями в рабочих средах. Он включает только стабильные API. По умолчанию документация по пакету SDK для приложений Windows описывает стабильный выпуск.
Предварительный просмотр Этот канал предоставляет предварительную версию следующего стабильного выпуска. В период между выпуском предварительной и следующей стабильной версий могут быть реализованы критические изменения API. Ссылки на документацию по использованию предварительного выпуска см. в статье Установка инструментов для каналов предварительного и экспериментального выпусков Windows App SDK.
Экспериментальный В этом канале представлены экспериментальные функции на ранних этапах разработки. Экспериментальные функции могут быть удалены из следующего выпуска или не выпущены вообще. Ссылки на документацию по использованию экспериментального выпуска см. в статье Установка инструментов для каналов предварительного и экспериментального выпусков Windows App SDK.

Дополнительные сведения о каналах выпуска пакета SDK для приложений Windows см. в статье Каналы выпуска пакета SDK для приложений Windows.

Преимущества пакета SDK для приложений Windows, которые получат разработчики Windows

Пакет SDK для приложений Windows предоставляет широкий спектр API-интерфейсов Windows с реализациями, не зависящими от ОС, которые предоставляются разработчикам в виде пакетов NuGet. Пакет SDK для приложений Windows не предназначен для замены Windows SDK. Windows SDK будет работать так же, как и раньше, а многие основные компоненты Windows будут совершенствоваться с помощью API, которые предоставляются в выпусках ОС и Windows SDK. Мы рекомендуем разработчикам переходить на пакет SDK для приложений Windows в удобном для себя темпе.

Унифицированное использование API для разных платформ классических приложений

Разработчики, которые хотят создавать классические приложения для Windows, вынуждены выбирать между несколькими платформами и средами приложений. Хотя каждая из таких платформ предоставляет множество функций и API, которые могут использоваться приложениями, созданными с помощью других платформ, некоторые из них могут использовать только определенные платформы. Пакет SDK для приложений Windows унифицирует доступ к API-интерфейсам Windows из классических приложений Windows 11 и Windows 10. Независимо от выбранной вами модели приложений вы получите доступ ко всему набору API-интерфейсов Windows, представленных в пакете SDK для приложений Windows.

Мы планируем и дальше развивать пакет SDK для приложений Windows, устраняя пока сохранившиеся различия между разными моделями приложений. Пакет SDK для приложений Windows будет включать как API WinRT, так и собственные API-интерфейсы C.

Согласованные возможности в разных версиях Windows

Так как API Windows меняются с каждой новой версией ОС, разработчикам нужно использовать такие техники, как адаптивный к версии код, чтобы учесть все различия в версиях, которые может использовать аудитория приложения. Это приводит к усложнению кода и работы разработчиков.

Интерфейсы API пакета SDK для приложений Windows будут работать с ОС Windows 11 и более ранних версий, вплоть до Windows 10 версии 1809. Таким образом, если все ваши клиенты работают с Windows 10 версии 1809 или любой более поздней версии Windows, вы сможете применять новые API-интерфейсы и функции пакета SDK для приложений Windows сразу после их выпуска. При этом вам не придется писать дополнительный код для адаптации к разным версиям.

Увеличенная частота выпусков

Новые API и функции Windows ранее обычно были привязаны к выпускам ОС, которые выходили один или два раза в год. Пакет SDK для приложений Windows будет чаще предоставлять обновления, чтобы вы могли быстрее получать доступ к инновационным возможностям на платформе разработки Windows по мере их появления.

Стратегия развития для разработчиков

Новейшие планы по обновлению пакета SDK для приложений Windows см. в описании стратегии.

Отзывы и участие в разработке

Мы создаем пакет SDK для приложений Windows как проект с открытым кодом. На нашей странице Github вы найдете дополнительную информацию о том, как мы работаем над пакетом SDK для приложений Windows и как вы можете поучаствовать в разработке. Ознакомьтесь с руководством для участников, если вы хотите задать вопрос, начать обсуждение или предложить функцию. Мы стремимся к тому, чтобы пакет SDK для приложений Windows предоставлял разработчикам максимум преимуществ.