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

Логотип WinUI

Библиотека пользовательского интерфейса Windows (WinUI) — это собственная платформа пользовательского интерфейса для классических приложений Windows и приложений UWP.

Включая систему Fluent Design во все интерфейсы, элементы управления и стили, WinUI предоставляет единообразные, интуитивно понятные и доступные возможности, используя новейшие шаблоны пользовательского интерфейса.

Благодаря поддержке классических приложений и приложений UWP вы можете выполнять сборку с помощью WinUI с нуля или постепенно переносить существующие приложения MFC, WinForms или WPF, используя привычные вам языки, включая C++, C#, Visual Basic и Javascript (React Native для Windows).

Важно!

Сейчас активно разрабатываются два поколения библиотеки пользовательского интерфейса Windows (WinUI): WinUI 2 и WinUI 3: WinUI 2 для UWP и WinUI 3 в Windows App SDK. Хотя оба варианта могут использоваться в готовых к работе приложениях в Windows 10 и более поздних версий, каждое поколение отличается своими задачами разработки и расписанием выпуска.

См. сравнение WinUI 3 и WinUI 2.

Ресурсы WinUI

GitHub. WinUI — проект с открытым кодом, размещенный на сайте GitHub. Используйте репозиторий WinUI, чтобы регистрировать запросы на функции или сообщения об ошибках, взаимодействовать с командой WinUI, а также просматривать планы команды разработчиков в отношении стратегии развития платформы WinUI 3.

Веб-сайт. На веб-сайте WinUI представлено сравнение продуктов, а также содержатся сведения о преимуществах WinUI и способах взаимодействия с продуктом и командой разработчиков.

Сравнение WinUI 3 и WinUI 2

В следующей таблице показаны некоторые наиболее существенные различия между WinUI 3 в Windows App SDK и WinUI 2 для UWP.

Использование WinUI 3 в Windows App SDK Использование WinUI 2 для UWP
WinUI 3 поставляется с пакетом Windows App SDK. WinUI 2 — второе поколение WinUI, которое поставляется в качестве автономного пакета NuGet и интегрируется с пакетами SDK Windows 10 и более поздних версий.
Стек взаимодействия с пользователем и библиотека элементов управления полностью отделены от ОС и пакетов SDK для Windows 10 или более поздней версии, включая основную инфраструктуру, композицию и входные слои стека взаимодействия с пользователем. Стек взаимодействия с пользователем и библиотека элементов управления тесно связаны с ОС и пакетами SDK для Windows 10 или более поздней версии.
WinUI 3 можно использовать для создания готовых к работе классических приложений или приложений Win32 для Windows. WinUI 2 можно использовать в приложениях UWP, а также встраивать в классические приложения, используя XAML Islands (инструкции по установке см. в статье Начало работы с библиотекой WinUI 2).
WinUI 3 входит в пакет платформы пакет SDK для приложений Windows с шаблонами проектов Visual Studio в расширении пакета SDK для приложений Windows от Visual Studio (VSIX). Часть WinUI 2 входит в состав самой операционной системы (Windows.UI.* семейство API-интерфейсов UWP WinRT) и библиотеки ("Библиотека пользовательского интерфейса Windows 2") с последними стилями, дополнительными элементами управления и другими элементами к тому, что уже включено в саму операционную систему. WinUI 2 добавляет эти функции в состав загружаемого пакета NuGet. Однако другие важные части стека пользовательского интерфейса, такие как основная инфраструктура XAML, входные и составные слои, все еще встроены в ОС.
WinUI 3 поддерживает C# (.NET 6 и более поздних версий) и C++ для классических приложений. WinUI 2 поддерживает C# и Visual Basic (.NET Native), а также приложения C++.
WinUI 3 поддерживается только в проектах на основе рабочих столов. Чтобы использовать WinUI 3, для проектов UWP можно изменить тип проекта на тип на основе рабочего стола (см. статью о миграции приложения UWP на пакет SDK для приложений Windows). WinUI 2 можно включить в рабочие приложения UWP, установив пакет NuGet в новый или имеющийся проект UWP. Затем на элементы управления и стили WinUI можно ссылаться непосредственно в новых приложениях или путем изменения ссылок пространства имен Windows.UI. на Microsoft.UI. в существующих приложениях.
WinUI 3 поддерживает элемент управления WebView2 на основе Chromium WinUI 2 поддерживает элемент управления WebView на всех устройствах и, начиная с предварительной версии WinUI 2.7, — элемент управления WebView2 на компьютерах. В будущем элемент управления WebView2 будет включен в стабильный выпуск WinUI 2.x.
WinUI 3 работает с обновлением Windows 10 за октябрь 2018 г. (версия 1809, сборка ОС 17763). WinUI 2.0–2.7 работает с обновлением Windows 10 Creators Update (версия 1703, сборка ОС 15063). WinUI 2.8 и выше работает с обновлением Windows 10 за октябрь 2018 г. (версия 1809, сборка ОС 17763).

См. также раздел