logo

Состоялся релиз Windows App SDK 1.1

Автор:

Компания Microsoft объявила о релизе набора средств разработки Windows App SDK 1.1, который призван помочь разработчикам создавать нативные, красивые и современные приложения для Windows. Новая версия принесла с собой несколько новых функций, а также повысила стабильность и производительность работы приложений.

Windows App SDK — это отправная точка для создания и распространения настольных приложений Windows (на C++ и .NET) с элементами управления WinUI 3 и WebView2 для создания современного пользовательского интерфейса. Ознакомиться с дальнейшими планами по развитию SDK можно на GitHub в дорожной карте продукта.

Улучшения

WinUI 3

Теперь в приложениях WinUI 3 можно использовать материалы Mica и Backgroud Acrylic. Напомним, что Mica — это непрозрачный материал, появившийся в Windows 11, который использует фоновое изображение рабочего стола для создания визуальной иерархии внутри приложения. Чтобы применить эти материалы к фону вашего приложения, ознакомьтесь с примером в приложении WinUI 3 Gallery. Кроме этого, в WinUI 3 Gallery появилось несколько новых примеров для элементов управления, а дизайн приложения был обновлён для соответствия концепции Windows 11.

Уведомления

Упакованные (MSIX), частично упакованные и неупакованные приложения теперь могут отправлять всплывающие уведомления (они же Toast-уведомления) и Push-уведомления для информирования пользователей о чём либо, когда приложения не используется. Это означает, что вы можете отправлять уведомления как локально, так и из собственного облачного сервиса. Вы также можете отправлять raw-уведомления из собственной облачной службы для рассылки новых обновлений вашего приложения энергоэффективным и безопасным способом. Ознакомьтесь с руководством Microsoft в отношении пользовательского интерфейса уведомлений, чтобы узнать о передовых методах разработки полезных, продуктивных и привлекательных уведомлений.

Запуск от имени администратора

Windows App SDK 1.1 убирает ограничение, действовавшее в версии 1.1, из-за которой приложения нельзя было запускать от имени администратора. Инструменты для разработчиков, администраторов и управления системой теперь могут использовать всю мощь Windows App SDK. Для полноценной поддержки убедитесь, что на целевых компьютерах установлены последние обновления для Windows 11 и Windows 10 (накопительное обновление от мая 2022 года). Поддержка Windows 10 LTSC 2019 появится в одном из будущих накопительных обновлений.

Улучшения производительности для C#

Значительно повышена производительность работы приложений на C# во многих сценариях за счёт обновлений на уровне WinRT. Так, время запуска простого приложения «Hello World» на WinUI 3 сократится примерно на 9% по сравнению с Windows App SDK 1.0. Также улучшения можно заметить в свойствах зависимостей в приложениях WinUI 3.

Windowing API

Теперь Windowing API позволяют вам управлять относительным z-порядком ваших окон. Это стало возможным за счёт появления WinRT-версии функции hWndInsertAfter в SetWindowPos. Каждый AppWindows представляет собой окно верхнего уровня, которое можно перемещать выше или ниже других окон верхнего уровня. Сейчас Microsoft готовит примеры для демонстрации различных сценариев управления относительным z-порядком окон.

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

Ещё одно полезное нововведение — возможность изменять размер окна в зависимости от размера клиентской области. Таким образом, вы можете задать размер клиентской области, а затем изменять размер неклиентской области окна в соответствии с этими параметрами. Это устраняет необходимость в излишних вычислениях, когда неклиентской области необходимо получить размеры определённого клиента.

И, наконец, сделаны изменения в работе Presenter по умолчанию, который применяется к AppWindows с помощью функции GetFromWindowId (). Изменения не являются критическими, поскольку вы по-прежнему сможете использовать старую реализацию Presenter (OverlappedPresenter), но он не будет блокировать любые изменения стиля окна, происходящие за пределами поверхности API AppWindow/OverlappedPresenter.

Улучшения для разработчиков

Жизненный цикл приложений и их перезапуск

Windows App SDK 1.1 позволяет программно перезапускать приложение и задавать параметры восстановления после закрытия приложения из-за таких событий, как обновление, сбой или зависание. Это означает, что вы можете восстановить состояние приложения после неожиданного перезапуска, и пользователи смогут немедленно вернуться к работе.

Эти возможности являются частью нового API AppInstance.Restart () в классе AppLifecycle. Фактически, это расширенная версия API UWP RequestRestartAsync (), которая доступна как для упакованных, так и для неупакованных настольных приложений. Подробную информацию об использовании Restart API можно найти на GitHub.

Template Studio

Состоялся релиз Template Studio for WinUI (C#). Это расширение для Visual Studio 2022, которое призвано ускорить создание новых приложений WinUI. Проекты, созданные с помощью этого расширения, содержат хорошо структурированный и читабельный код, а также включают в себя все новейшие функции, реализуя при этом проверенные шаблоны и ведущие практики. Сгенерированный код имеет ссылки на документацию и комментарии TODO с информацией и рекомендациями по превращению проекта в готовое приложение. Если вы новичок в WinUI/Windows App SDK  или просто хотите использовать в своих новых проектах готовые шаблоны проектирование, такие как MVVM, то Template Studio for WinUI (C#) — отличное решение для начала работы.

Самодостаточные приложения

Windows App SDK 1.1 теперь позволяет создавать самодостаточные приложения, несущие в себе зависимости Windows App SDK. Это позволяет вам контролировать версию Windows App SDK и использовать различные стратегии развёртывания, например, xcopy deployment. Узнать о различиях между самодостаточными приложениями и зависимыми от платформы можно в документации Microsoft. Чтобы создать самодостаточное приложение, следуйте руководству по этой ссылке.

API Bootstrapper

API Bootstrapper, необходимые для использования функций Windows App SDK (например, WinUI 3, MRT Core) в приложениях, не упакованных в MSIX, теперь проще в использовании и отладке. Среди обновлений можно отметить новую подсказку в пользовательском интерфейсе, дополнительные записи в журнале событий, а также дополнительные параметры для обработки слоёв, включая вызовы DebugBreak () и/или FailFast.

Менеджер переменных сред

Теперь с помощью Windows App SDK 1.1 вы можете добавлять, удалять и изменять переменные среды без использования API реестра. Изменение переменной среды в области процесса, пользователя и машины теперь является единым процессом. Кроме этого, для упакованных приложений изменения переменных сред, сделанные менеджером, будут автоматически отменяться, чтобы сократить количество изменений переменных сред, оставляемых приложениями. Подробную информацию о EV Manager можно найти на GitHub.

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.