Поделиться через


Часто задаваемые вопросы о разработке приложений Windows

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

  • Начало работы и ландшафт разработки приложений Windows.
  • Разработка собственных приложений только для Windows с помощью WinUI, Windows Presentation Foundation (WPF) и Windows Forms (WinForms).
  • Комплект средств разработки программного обеспечения Windows (SDK) и пакет SDK для приложений Windows.
  • Назначение Windows в рамках кроссплатформенной стратегии разработки.
  • Разработка гибридных и веб-приложений с помощью .NET MAUI, Blazor и ASP.NET Core.
  • Как выбрать подход при понимании инвестиций Майкрософт.

Ландшафт разработки приложений Для Windows

Где можно найти простой обзор технологий разработки Windows?

Чтобы получить отличный обзор современных вариантов для разработчиков Windows, просмотрите последний эпизод windows Dev Chat, Выбор идеальной платформы разработки, где они обсуждают WinUI, .NET MAUI, React Native, Blazor и прогрессивные веб-приложения (PWAs).

Вы также можете ознакомиться с обзором вариантов разработки приложений для разработчиков Windows.

Почему разработка клиентских приложений по-прежнему важна для современной цифровой трансформации в эпоху облачных служб?

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

Вот почему клиентские приложения имеют значение:

  • Доступ к устройствам: с более чем 1,5 млрд устройств Windows и более 5 миллиардов устройств Android и iOS в глобальном масштабе, клиентские приложения позволяют напрямую переносить приложения пользователям на их устройствах.
  • шлюз в интеллектуальные службы: клиентские приложения часто являются первыми пользователями взаимодействия с вашими службами. Они предлагают широкий интерактивный интерфейс, который позволяет продемонстрировать интеллектуальные функции и отличить продукт от других.
  • масштабируемость с помощью облачной интеграции: хорошо интегрированное клиентское приложение может синхронизироваться без усилий с внутренними облачными службами, обеспечивая доступ к данным в режиме реального времени и бесшовную масштабируемость по мере роста пользовательской базы.
  • улучшенная производительность и лояльность пользователей: продуманное приложение может повысить производительность и поддерживать взаимодействие пользователей с вашим продуктом или службой со временем.

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

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

Windows App SDK — эта платформа разработки приложений Windows, которая позволяет создавать красивые, современные классические приложения с обратной совместимостью (вплоть до Windows 10 1809). WinUI — это платформа пользовательского интерфейса, которая поставляется с пакетом SDK для приложений Windows.

Какова разница между пакетом SDK для приложений Windows и пакетом SDK для Windows?

Оба являются пакетами разработки ПО (SDK) для создания приложений Windows.

Windows App SDK — это новая платформа разработки, которая позволяет создавать современные классические приложения для установки в версиях Windows (вплоть до Windows 10 1809). При создании с помощью пакета SDK для приложений Windows доступны последние возможности платформы разработки Windows. Пакет SDK для приложений Windows включает WinUI.

Windows SDK — это платформа разработки, которая позволяет создавать приложения UWP и Win32, а также классические приложения. Этот пакет использует API Windows, которые привязаны к определенным версиям ОС.

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

Я создаю новую команду для разработки приложения только для Windows. Почему следует разрабатывать собственные платформы Windows, такие как WinUI, WPF или WinForms?

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

  • Производительность: Собственные платформы Windows оптимизированы для использования современного оборудования Windows, обеспечивая быстрый и адаптивный интерфейс пользователя.
  • Интеграция: Windows поставляется с широким спектром API, которые обеспечивают сложные возможности, доступные только в Windows. Собственные платформы обеспечивают глубокую интеграцию с этими функциями и API.
  • Собственный интерфейс пользователя: Собственные платформы обеспечивают согласованный интерфейс на устройствах Windows, гарантируя, что ваше приложение выглядит и работает отлично везде.
  • Автономная поддержка: Собственные платформы поддерживают автономные сценарии, позволяя приложениям функционировать даже без подключения к Интернету.
  • Монетизация: Собственные фреймворки активно поддерживаются и сопровождаются Microsoft, обеспечивая доступ к новейшим функциям и обновлениям.
Какую платформу следует использовать для использования последних инвестиций Майкрософт в разработку приложений Windows?

Если вы создаете новое приложение только для Windows, рекомендуется использовать WinUI. WinUI — это последняя собственная платформа пользовательского интерфейса для разработки приложений Windows и предназначена для работы на разных устройствах Windows. Она предоставляет современную и гибкую платформу пользовательского интерфейса для создания визуальных и интерактивных приложений Windows. WinUI является частью пакета SDK для приложений Windows и лучше всего работает с последними версиями Windows.

Можно ли использовать пакет SDK для приложений Windows или WinUI в существующем приложении Windows?

Обратите внимание, что WinUI (платформа пользовательского интерфейса) поставляется с пакетом SDK для приложений Windows (платформа разработки платформы Windows).

Как правило, WinUI нельзя использовать, если приложение не готово к переносу своей платформы пользовательского интерфейса полностью. Функция, называемая xaml islands , находится в разработке для размещения содержимого WinUI в других платформах пользовательского интерфейса (WPF, Win32).

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

Это означает, что приложения WPF/MFC/WinForms могут использовать API-интерфейсы пакета SDK для приложений Windows, которые не связаны с WinUI. К примерам относятся жизненный цикл приложения, управление окнами и всплывающие уведомления.

Дополнительные сведения см. в разделе Использование Windows App SDK в существующем проекте.

Нужно ли использовать Visual Studio для создания приложений WinUI?

Для разработки WinUI настоятельно рекомендуется использовать Visual Studio 2022 версии 17.10 или более поздней версии. Последние версии Visual Studio предлагают широкие возможности разработки, такие как горячая перезагрузка, и включают рабочую нагрузку разработки приложений WinUI , которая упрощает настройку.

Другие среды разработки и рабочие процессы могут работать, но Visual Studio в настоящее время является единственной официально поддерживаемой интегрированной среды разработки для WinUI. Обратите внимание, что MSBuild требуется для компиляции проектов XAML или WinUI.

Какова разница между WinUI, WinUI 2 и WinUI 3?

WinUI — это последняя собственная платформа пользовательского интерфейса для разработки приложений Windows. Она предоставляет современную и гибкую платформу пользовательского интерфейса для создания визуальных и интерактивных приложений Windows. WinUI является частью пакета SDK для приложений Windows и лучше всего работает с последними версиями Windows.

WinUI 2 — это набор элементов управления пользовательского интерфейса и стилей, созданных на основе UWP. Он предоставляет современный внешний вид и интерфейс для приложений UWP и предназначен для Windows 10.

WinUI 3 было более ранним именем WinUI, когда он впервые поставляется в составе пакета SDK для приложений Windows.

В итоге WinUI — это последняя и самая расширенная версия платформы WinUI, WinUI 2 — это библиотека элементов управления для UWP, а WinUI 3 — более ранняя метка для WinUI. Используйте «WinUI» в будущем, если специально не указываете на WinUI 2.

При создании приложения с помощью пакета SDK для приложений Windows и WinUI я создаю приложение WinUI?

Да— "Приложение WinUI" является рекомендуемым термином. Приложения WinUI называются "приложениями WinUI", так как WinUI 2 не является типом приложения, а набором компонентов, используемых в приложениях UWP.

Можно ли постепенно обновить приложение UWP с элементами управления WinUI 2 до WinUI, заменяя компоненты WinUI 2 компонентами WinUI?

Нет. Пакет SDK для приложений Windows нельзя использовать в приложениях UWP, а WinUI 2 нельзя смешать с WinUI. См. статью "Миграция из UWP" в пакет SDK для приложений Windows.

Насколько трудно перенести приложение UWP в WinUI?

Перенос компонентов пользовательского интерфейса обычно прост (для C# и C++/WinRT). В противном случае стоимость миграции зависит в первую очередь от:

  1. Файл проекта и настройка MSBuild: Затруднённость миграции зависит от сложности использования MSBuild.
  2. Миграция API .NET: Приложения UWP с помощью .NET должны перейти на .NET 6 или более поздней версии. Во многих случаях внедрение .NET 6 является простым.
  3. Библиотеки компонентов пользовательского интерфейса: Библиотеки должны иметь версии, предназначенные для WinUI.
  4. Если приложение UWP написано в теперь замененном C++/CX, требуется перенос исходного кода. См. раздел "Переход на C++/WinRT" из C++/CX.

Дополнительные сведения см. в статье "Миграция из UWP в пакет SDK для приложений Windows".

Если у меня есть существующее приложение UWP в Магазине, можно ли опубликовать новое упакованое приложение WinUI, используя те же идентификаторы?

Да, обновленные приложения можно публиковать без обновления идентификатора приложения. Пользователи старой версии будут обновлены до новой версии. Это относится только к настольным приложениям. Приложения Xbox, HoloLens и Surface Hub не могут перенестися в WinUI.

Как упаковывать или распространять приложение WinUI?

См. статью Общие сведения о развертывании.

Где можно найти рекомендации по миграции пакета SDK для приложений Windows?

См. статью "Миграция из UWP" в пакет SDK для приложений Windows.

Нужно ли использовать разметку XAML, если требуется использовать WinUI?

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

  • Миграция с UWP на WinUI: многие компоненты XAML и пользовательского интерфейса можно использовать повторно, хотя некоторые корректировки синтаксиса требуются.
  • Миграция из WPF в WinUI: многие понятия переносятся, но набор элементов управления и API отличаются.
Имеет ли Visual Studio область конструктора или конструктор пользовательского интерфейса для WinUI?

Ещё нет. Это известная проблема в опыте разработчика WinUI. Такие средства, как XAML Hot Reload, помогают во множестве сценариев. Работа началась в конструкторе пользовательского интерфейса Visual Studio для WinUI в пакете SDK для приложений Windows 1.7, но пока нет временной шкалы для его выпуска.

Включает ли пакет SDK для приложений Windows WinUI?

Да. WinUI поставляется в составе пакета SDK для приложений Windows.

Включает ли пакет SDK для приложений Windows WinUI 2?

Нет. WinUI 2 входит в состав платформы UWP.

Основаны ли WinUI 2 и WinUI на той же технологии?

Пока нет. Несмотря на то, что WinUI изначально начал работу с базы кода WinUI 2, они являются различными технологиями. Оба являются платформами пользовательского интерфейса на основе XAML, которые работают в .NET и C++, но WinUI 2 и WinUI несовместимы друг с другом.

Можно ли использовать WinUI без использования пакета SDK для приложений Windows?

Нет. WinUI поставляется в составе пакета SDK для приложений Windows.

Можно ли использовать WinUI в распаковке приложения?

Да. Все технологии в пакете SDK для приложений Windows, включая WinUI, работают в распакованных приложениях.

Какова разница между островами XAML и WinUI?

Xaml Islands позволяет размещать современные элементы управления на основе XAML вместе с существующим пользовательским интерфейсом Win32 из других платформ, таких как WinForms и WPF.

Сегодня XAML Islands поддерживает большинство системных элементов управления XAML и WinUI 2. Подробнее см. в элементе управления WinRT XAML для настольных приложений (XAML Islands). Поддержка размещения элементов управления WinUI доступна начиная с пакета SDK для приложений Windows 1.4.

Если я создаю приложение WinUI, будет выглядеть современно как в Windows 11, так и в Windows 10?

Да. Пользовательский интерфейс вашего приложения наследует последние принципы разработки пользовательского интерфейса Fluent во всех поддерживаемых версиях Windows 11 и Windows 10 до версии 1809 в упакованных и распакованных сценариях.

Можно ли использовать мику или акриловые фоны в приложениях, созданных с помощью пакета SDK для приложений Windows?

Да. См. статью "Применить мику" или "Акриловые материалы" в классических приложениях для Windows 11.

Где можно найти примеры WinUI?

См . пример и ресурсы. Некоторые важные репозитории:

Если я уже инвестировал в WPF, следует ли продолжать использовать WPF или рассмотреть возможность миграции в WinUI?

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

Попробуйте использовать помощник по обновлению .NET для переноса приложений WPF .NET Framework на последнюю платформу .NET. Он анализирует базу кода и предоставляет рекомендации по его обновлению.

Если я создам новое приложение WPF, будет ли оно выглядеть устаревшим по сравнению с другими новыми приложениями Windows?

При разработке приложения WPF с помощью .NET 9 или более поздней версии вы можете убедиться, что ваше приложение соответствует простому, современному виду Windows 11. Новая тема Fluent для WPF представляет современный стиль Windows 11 с интегрированной поддержкой режима света/темноты и системного цвета акцента. Это модернизирует внешний вид вашего приложения и обеспечивает полированный, сплоченный пользовательский интерфейс.

Моя команда комфортно создает приложения WinForms, и это соответствует нашим потребностям. Следует ли рассмотреть возможность миграции в WinUI или другую платформу?

Если WinForms соответствует вашим потребностям и ваша команда комфортно с ним, вы можете продолжать использовать WinForms для существующих приложений. WinForms — это зрелая и стабильная платформа, широко используемая для разработки классических приложений Windows.

Команда WinForms продолжает инвестировать в платформу. К некоторым текущим областям инвестиций относятся:

  • Поддержка асинхронной работы общих элементов управления
  • Темный режим
  • Гибкость макета
  • Функции безопасности настольных компьютеров, такие как доступ к буферу обмена

Кроссплатформенная разработка

Каковы некоторые причины создания кроссплатформенных собственных приложений, предназначенных для Windows?

Если вы нацелены на пользователей на нескольких платформах ОС, создание кроссплатформенных приложений с помощью .NET MAUI или React Native может предложить несколько преимуществ:

  • Достигать: Кроссплатформенные приложения достигают большей аудитории на разных устройствах и операционных системах.
  • Повторное использование кода: Повторное потребление кода на разных платформах сокращает время разработки и затраты. Создание отдельных приложений для Windows, Android, iOS и macOS может быть запрещено дорогостоящим.
  • Согласованное взаимодействие с пользователем: Кроссплатформенные платформы помогают обеспечить согласованный внешний вид и чувствовать себя на разных платформах.
  • Интеграция: Кроссплатформенные приложения по-прежнему могут интегрироваться с службами, зависящими от платформы, для предоставления комплексного интерфейса.
Могу ли я быть уверен, что приложения .NET MAUI будут работать хорошо в Windows?

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

Как .NET MAUI предоставляет собственные API устройств на каждой платформе?

.NET MAUI предоставляет единый интерфейс .NET в Windows, iOS, Android и macOS. Он абстрагирует более 60 API для конкретной платформы в один кроссплатформенный набор API, охватывающий такие области, как хранилище, сети и датчики устройств. Дополнительные API для конкретной платформы также можно получить с помощью внедрения зависимостей для предоставления специализированных реализаций для каждой платформы.

Можно ли начать с WinUI, а затем интегрировать .NET MAUI, если в конечном итоге требуется использовать кроссплатформенные сценарии?

Не в это время. Несмотря на то что .NET MAUI использует WinUI при работе на Windows, командам, стремящимся нацеливаться на несколько платформ, следует начинать с .NET MAUI или React Native для настольных компьютеров.

Наша команда имеет сильные навыки разработки веб-интерфейсов. Следует ли использовать React Native для настольных компьютеров?

Команды с сильным опытом веб-разработки могут рассмотреть React Native для десктопов. Он включает React Native для Windows и macOS. С помощью подхода "Один раз обучился, пиши где угодно", можно использовать существующие навыки в JavaScript, TypeScript и React для разработки нативных приложений под Windows и macOS.

React Native for Desktop отрисовывает пользовательский интерфейс непосредственно в нативные примитивы, предоставляя нативные возможности производительности и платформенные возможности.

Чтобы начать, смотрите документацию React Native для Desktop.

Поддерживаются ли другие устройства Windows в React Native для настольных приложений?

Приложения React Native можно развернуть на всех устройствах, поддерживаемых Windows 10 и более поздних версий, включая компьютеры, планшеты, 2-in-1s, Xbox и устройства смешанной реальности.

Что следует использовать, если я хочу создать приложения, работающие в Windows и Xbox?

Если ваше приложение должно поддерживать Xbox, HoloLens или IoT, рекомендуется использовать UWP. Пакет SDK для приложений Windows не поддерживает эти платформы. Для разработки игр используйте пакет средств разработки игр Microsoft.

Что следует использовать, если я хочу создать приложения, работающие в Windows и Surface Hub?

Если вы нацелены на Windows и Surface Hub, рекомендуется использовать UWP.

Гибридная и веб-разработка

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

Гибридные приложения смешивают лучшее из разработки веб-приложений и собственных приложений. Их ядро создается с помощью веб-технологий, таких как HTML, CSS и JavaScript, и упаковывается в собственный контейнер, который предоставляет доступ к определенным функциям и оборудованию собственной платформы. Они также могут распространяться через магазины приложений.

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

  • Electron для классических приложений
  • Ionic для мобильных приложений
  • Гибридная аппликация .NET MAUI Blazor для кроссплатформенных приложений
Как создавать собственные веб-приложения (PWAs) в Windows?

См. сведения о веб-разработке в Windows и обзор прогрессивных веб-приложений.

Что такое гибридное приложение .NET MAUI Blazor?

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

Дополнительные сведения см. в ASP.NET Core Blazor Hybrid.

Необходимо ли создавать веб-компоненты гибридного приложения .NET MAUI с помощью Blazor?

Нет. Начиная с .NET 9, .NET MAUI включает элемент управления HybridWebView, который позволяет размещать другие пользовательские интерфейсы на основе JavaScript в собственном приложении.

Это позволяет размещать приложения Angular, React, Vue или другие приложения HTML/JavaScript в приложении .NET MAUI. Гибридный элемент управления обеспечивает взаимодействие между C# и JavaScript, поэтому код C# может вызывать функции JavaScript и наоборот.

Могут ли другие собственные типы приложений размещать гибридные компоненты Blazor?

Да. Приложения WPF и WinForms также могут размещать гибридные компоненты Blazor, что позволяет добавлять современный веб-интерфейс в существующие приложения. Это не поддерживается для приложений WPF или WinForms, созданных на платформе .NET Framework.

Должно ли все приложение быть гибридным приложением или может ли я смешивать и сопоставлять собственные и гибридные компоненты?

Собственные и гибридные компоненты могут быть смешанными в приложении. Например, ядро приложения может быть создано с помощью компонентов .NET MAUI, а гибридные компоненты обеспечивают дополнительные функциональные возможности. Это позволяет сочетать производительность и возможности собственных компонентов с гибкостью и экономичностью гибридных компонентов.

Что такое мой выбор для строительства. Веб-приложения на основе NET, которые выглядят отлично в современных браузерах в Windows?

Веб-приложения предлагают самый широкий охват любой клиентской платформы приложений. Возможные варианты создания красивых веб-приложений .NET:

  • приложения ASP.NET Core с Razor Pages
  • приложения ASP.NET Core MVC
  • приложения ASP.NET Core Blazor с параметрами модели размещения:
    • Blazor WebAssembly (платформа для создания веб-приложений)
    • Blazor Server

Теперь модели размещения Blazor можно настроить на уровне компонента, включив такие сценарии, как размещение компонента Blazor WebAssembly в приложении Blazor Server.

Дополнительные сведения см. в документации по ASP.NET Core .

Выбор подхода и понимание инвестиций Майкрософт

Существует так много вариантов платформы для создания приложений, предназначенных для Windows! Как решить?

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

  • Вы создаете Windows-first или кроссплатформенный?
  • Какие языки или навыки у вас уже есть — .NET, JavaScript, что-то еще?
  • Требуется ли вам доступ к API для windows?
  • Какие возможности платформы лучше всего соответствуют требованиям вашего приложения?
  • См . эту таблицу для дополнительных факторов сравнения.

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

Как выбрать оптимальный подход к разработке для веб-приложения?

При выборе подхода к разработке веб-приложения следует учитывать следующее:

  • Blazor рекомендуется создавать интерфейсные веб-приложения с помощью .NET. Он позволяет создавать интерфейсные и серверные серверы с помощью .NET, экономии времени и затрат, и это особенно удобно для корпоративных приложений.
  • Веб-приложения на JavaScript по-прежнему имеют смысл, если вы хотите использовать существующие навыки JavaScript или необходимо интегрировать с установленными библиотеками или фреймворками JS.
  • Существующие приложения, использующие старые платформы, такие как веб-формы, MVC или Razor Pages, остаются поддерживаемыми и могут продолжать разрабатываться и поддерживаться.
Кто создает приложения с помощью WinUI сегодня?

Многие клиенты строятся с WinUI сегодня, в том числе Adobe и Apple:

Корпорация Майкрософт также создала множество приложений WinUI, таких как проводник Windows 11 и приложение "Фотографии".

Кто создает приложения .NET MAUI сегодня?

Многие клиенты, включая Корпорацию Майкрософт, создают кроссплатформенные приложения с помощью .NET MAUI. Например, мобильное приложение Microsoft Azure создается с помощью .NET MAUI.

Подробнее на примерах использования .NET клиентами.

Кто создает приложения WPF сегодня?

Большая часть пользовательского интерфейса Microsoft Visual Studio построена с помощью WPF. Сама интегрированная среда разработки Visual Studio является основным примером сложного высокопроизводительного приложения WPF.

Кто создает приложения Blazor сегодня?

Система авиакомпании GE Digital FlightPulse использует Blazor для серверной конфигурации всего, что видят пилоты, предоставляя данные с датчиков и аналитику непосредственно пилотам для повышения их безопасности и эффективности.

Дополнительные сведения о клиентах Blazor см. на сайте .NET.

UWP и WinUI 2

Можно ли распространять приложения UWP за пределами Microsoft Store?

Да. Если пакет MSIX подписан, сертификат подписи должен быть допустимым и доверенным на целевом устройстве.

Можно ли смешивать элементы управления пользовательского интерфейса XAML UWP с элементами управления пользовательский интерфейс Win32, WPF или WinForms?

Да— xaml Islands позволяет это сделать. Дополнительные сведения о XAML Islands см. в статье .

Упаковка, развертывание и обновления

Какова разница между приложениями, которые упакованы, неупакованные и упакованы с внешним расположением?

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

Будет ли приложение WinUI автоматически обновляться для конечных пользователей?

Приложение WinUI можно доставлять через Магазин, файл .appinstaller или с помощью существующего пакета MSI или setup.exe. Магазин и AppInstaller поддерживают автоматические обновления для конечных пользователей с включенными автоматическими обновлениями, но приложения MSI/setup.exe должны предоставлять собственный механизм обновления.

Можно ли использовать пакет SDK для приложений Windows без использования MSBuild?

Как правило, нет. WinUI и пакет SDK для приложений Windows требуют MSBuild, поэтому Visual Studio является необходимым условием для разработки с ними. Хотя технически можно создать приложения пакета SDK для приложений Windows, которые не используют WinUI с другими цепочками инструментов, это не поддерживается.

Производительность и оптимизация

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

См. статью 11 основных действий, которые можно выполнить, чтобы ваше приложение прекрасно работало в Windows 11.

Compatibility

Придется ли пользователям обновлять Windows для использования приложения WinUI?

Пользователи с Windows 10 версии 1809 или более поздней версии могут устанавливать приложения WinUI без обновления операционной системы.

Можно ли использовать Arm64 с приложением WinUI?

Да.

Нерекомендуемые компоненты и миграции

Не рекомендуется ли использовать UWP / WinUI 2?

Нет. UWP и WinUI 2 по-прежнему поддерживаются и продолжают получать исправления ошибок, улучшения надежности и безопасности. Однако большинство новых функций и возможностей добавляются в WinUI.

Поддержка UWP для .NET 9 доступна. Этот параметр предоставляет путь модернизации для приложений UWP с использованием последней версии .NET.

Цели поддержки .NET 9 UWP:

  1. Укажите лучший путь миграции для разработчиков, которые хотят перейти в WinUI.
  2. Удалите зависимости от .NET Native, чтобы разработчики могли воспользоваться последними функциями .NET и C#.

Дополнительные сведения см. в записи блога: модернизация приложения UWP с предварительной версией поддержки UWP для .NET 9 и Native AOT.

Когда следует перенести приложение UWP / WinUI 2 в WinUI?

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

Приложения, которые хотят воспользоваться последней платформой Windows и инвестициями .NET, должны рассмотреть возможность перехода на пакет SDK для приложений Windows. См. статью "Миграция из UWP" в пакет SDK для приложений Windows.

Когда не следует переносить приложение UWP + WinUI 2 на WinUI?

Продолжайте использовать UWP, если вы создаете для Xbox, Surface Hub или HoloLens.

Не рекомендуется ли WPF?

Нет. WPF поддерживается, рекомендуется и продолжает получать обновления компонентов. См. схему WPF наGitHub.

Не рекомендуется ли WinForms?

Нет. WinForms поддерживается и продолжает получать обновления компонентов. Ознакомьтесь с схемой развития Windows Forms наGitHub.

Не рекомендуется ли использовать среду выполнения Windows (WinRT) ?

Нет. WinRT — это двоичный интерфейс приложения (ABI), который обеспечивает взаимодействие между несколькими языками. WinRT — это эволюция COM, и пакет SDK для приложений Windows предоставляет большую часть функций через API WinRT.

Примечания к релизу

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

Последние заметки о выпуске можно найти на странице что нового.