Пользовательский интерфейс и ввод

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

Корпорация Майкрософт создает платформы пользовательского интерфейса и платформы приложений. Платформы приложений обычно включают платформу пользовательского интерфейса, а платформы пользовательского интерфейса являются автономными (не поставляется с платформой приложений) или могут использоваться с несколькими платформами приложений (см. раздел "Выбор платформы приложения").

Здесь рассматриваются платформы: библиотека пользовательского интерфейса Windows (WinUI) для пакета SDK для приложений Windows (WinUI 3) и UWP (WinUI 2), Windows Presentation Foundation (WPF) и Windows Forms (WinForms).

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

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

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

  • Элементы управления и стили

    • Элемент управления — это элемент пользовательского интерфейса, отображающий содержимое или обеспечивающий взаимодействие. Элементы управления — это стандартные блоки пользовательского интерфейса.

      Ниже приведен пример элемента управления Button, который доступен в UWP, WinUI 2 и WinUI 3. Когда вы помещаете этот элемент управления в приложение, он автоматически получает дизайн по умолчанию, который предоставляет платформа пользовательского интерфейса.

      Кнопка WinUI

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

      Ниже приведен пример компонента стиля с именем Акрил, доступный в WinUI 2 и WinUI 3. Акрил — это кисть, которую можно использовать на поверхностях в приложении или в качестве фона приложения. Она предоставляет полупрозрачную текстуру.

      Акриловый материал

  • Входные данные и взаимодействие

    Конечные пользователи могут взаимодействовать с приложением и предоставлять входные данные приложению (например, выбор или ввод) с помощью различных методов. Ниже приведены некоторые примеры входных данных:

    • Мышь
    • Сенсорный ввод
    • Игровой планшет
    • Перо
    • Клавиатура
    • Surface Dial
    • Touchpad
    • Речь
  • Поддержка устройств

    Конечные пользователи получают доступ к приложениям Windows на различных устройствах, а платформы пользовательского интерфейса могут поддерживать только определенные. Ниже приведены некоторые распространенные устройства для запуска приложений Windows:

    • Компьютеры (часто называемые "настольными", но также включают ноутбуки)
    • Планшеты
    • HoloLens
    • Xbox
    • Surface Hub
  • Перемещение и анимация

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

    Пример встроенной анимации в UWP, WinUI 2 и WinUI 3 — это анимация, которая возникает, когда конечный пользователь переключается между светлым и темным режимом. Когда конечный пользователь переключает режимы для всего компьютера, пользовательский интерфейс приложения автоматически обновляется, а также с анимацией перехода.

  • Удобство использования и специальные возможности

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

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

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

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

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

Возможность Пакет SDK для приложений Windows (WinUI 3) Использование WinUI 2 для UWP WPF WinForms
Поддерживаемые языки C#/.NET 6 и более поздних версий C++/WinRT C#/.NET Native, C++/WinRT, C++/CX, VB C#/.NET 6 (и более поздних версий) и платформа .NET Framework, C++/CLI (управляемые расширения для C++), F#, VB C#/.NET 6 (и более поздних версий) и платформа .NET Framework, C++/CLI (управляемые расширения для C++), F#, VB
Поддерживаемые устройства Компьютеры (в том числе ноутбуки и планшеты), поддержка всех устройств Windows 10 в ближайшее время Все устройства Windows 10 (пк, планшеты, HoloLens, Xbox, Surface Dial и многое другое) Настольные компьютеры и ноутбуки Настольные компьютеры и ноутбуки
Поддерживаемые входные данные Все поддерживаемые входные данные Windows 10 Все поддерживаемые входные данные Windows 10 Мышь и клавиатура Мышь и клавиатура
Поддерживаемая версия ОС Windows Windows 10 версии 1809 или более поздней Windows 10 версии 1703 или более поздней Windows XP или более поздней версии Windows XP или более поздней версии
Поддержка WebView Веб-представление на основе Chromium2 Веб-представление, отличное от chromium Поддержка WebView2 в ближайшее время Поддержка WebView2 в ближайшее время
Открытый исходный код Скоро Да Да (только .NET 6 и более поздних версий) Да (только .NET 6 и более поздних версий)

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

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

Для большинства новых приложений Windows рекомендуется использовать WinUI с пакетом SDK для приложений Windows (WinUI 3) для создания пользовательского интерфейса. WinUI 3 предоставляет согласованные интуитивно понятный и доступный интерфейс с возможностью использования новейших шаблонов пользовательского интерфейса.

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

WinUI 3 — это последнее поколение библиотеки пользовательского интерфейса Windows. WinUI 2 и 3 используют многие из одинаковых элементов управления, стилей и других основных принципов пользовательского интерфейса (см . сравнение WinUI 2 и WinUI 3).

Сценарии ключевых приложений, включенные WinUI 3

  • Современные приложения Windows, которые должны работать на различных современных устройствах с различными современными входными данными
  • Классические приложения и приложения Win32, написанные на C++
  • Приложения или игры с высокой графикой, которые хотят воспользоваться преимуществами DirectX и Win2D
  • Приложения с большим количеством интегрированных веб-содержимого, которым требуется высокая производительность
  • Приложения, которые стремятся обеспечить взаимодействие, которое "подходит прямо" в ОС Windows и с другими сторонними приложениями Для Windows

Полезная документация по WinUI 3