Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье приведены ответы на распространенные вопросы о разработке приложений Windows, включая рекомендации по выбору подходящей платформы для проектов. В книге рассматриваются такие темы:
- Начало работы с разработкой приложений и экосистема Windows.
- Разработка собственных приложений Windows только с помощью WinUI 3, Windows Presentation Foundation (WPF) и Windows Forms (WinForms).
- Windows пакет средств разработки программного обеспечения (SDK) и Windows App SDK.
- Ориентирование на Windows в рамках кроссплатформенной стратегии разработки.
- Разработка гибридных и веб-приложений с помощью .NET MAUI, Blazor и ASP.NET Core.
- Как выбрать подход при понимании инвестиций Майкрософт.
ландшафт разработки приложений Windows
Где можно найти простой обзор технологий разработки для Windows?
Чтобы получить замечательный обзор современных вариантов для разработчиков Windows, посмотрите последний эпизод Windows Dev Chat, Выбор идеальной платформы для разработки, где они обсуждают WinUI, .NET MAUI, React Native, Blazor и Прогрессивные веб-приложения (PWAs).
Вы также можете обратиться к обзору параметров разработки приложений для разработчиков Windows.
Почему разработка клиентских приложений по-прежнему имеет решающее значение для современной цифровой трансформации в эпоху облачных сервисов?
В эпоху cloud services разработка клиентских приложений остается критически важным компонентом современной цифровой трансформации. Для разработчиков создание клиентских приложений важно не только для достижения, но и для обеспечения быстрого, понятного взаимодействия на устройствах пользователей.
Вот почему клиентские приложения имеют значение:
- Device Reach: С более чем 1,5 млрд устройств Windows и более 5 миллиардов устройств Android и iOS по всему миру клиентские приложения позволяют напрямую доставлять приложения пользователям на их устройствах.
- Шлюз в интеллектуальные службы: клиентские приложения часто являются первым взаимодействием пользователей с вашими службами. Они предлагают широкий интерактивный интерфейс, который позволяет продемонстрировать интеллектуальные функции и отличить продукт от других.
- Scalability with Cloud Integration: Хорошо интегрированное клиентское приложение может легко синхронизироваться с облачными сервисами, что позволяет доступ к данным в режиме реального времени и простой масштабируемости по мере роста пользовательской базы.
- улучшенная производительность и лояльность пользователей: продуманное приложение может повысить производительность и поддерживать взаимодействие пользователей с вашим продуктом или службой со временем.
Разработка нативных приложений исключительно для Windows
Что такое Windows App SDK?
Windows App SDK — это платформа разработки приложений Windows, которая позволяет создавать красивые, современные и обратно совместимые настольные приложения (вплоть до Windows 10 1809). WinUI — это платформа пользовательского интерфейса, которая поставляется с Windows App SDK.
Чем разница между Windows App SDK и пакетом SDK Windows?
Оба — это комплекты средств разработки программного обеспечения (SDK), которые позволяют создавать Windows приложения.
Windows App SDK — это новая платформа разработки, которая позволяет создавать современные классические приложения, которые можно установить в Windows версиях (вплоть до Windows 10 1809). При создании с помощью Windows App SDK доступны последние возможности платформы разработки Windows. Windows App SDK включает WinUI.
Пакет SDK Windows — это платформа разработки, которая позволяет создавать приложения UWP и классические приложения Win32/desktop. Он предназначен для Windows API, которые связаны с определенными версиями ОС.
The Windows App SDK не заменяет пакет SDK Windows. Вместо этого Windows App SDK дополняет пакет SDK Windows. Она предоставляет удобную абстракцию, независимую от ОС, вокруг богатого каталога API Windows, которые уже доступны с помощью Windows SDK. Приложения, созданные с помощью Windows App SDK, могут по-прежнему использовать API пакета SDK Windows в зависимости от потребностей функций. С течением времени в Windows App SDK будут перемещены дополнительные функции пакета SDK Windows.
Я создаю новую команду для разработки приложения только для Windows. Почему я должен выбрать разработку с использованием нативной платформы Windows, такой как WinUI, WPF или WinForms?
Ниже приведены некоторые причины выбора собственной платформы Windows для приложения только для Windows:
- Performance: собственные фреймворки Windows оптимизированы для использования современного оборудования Windows, обеспечивая быстрый и отзывчивый пользовательский опыт.
- Integration: Windows поставляется с широким спектром API, которые обеспечивают сложные возможности, доступные только в Windows. Собственные платформы обеспечивают глубокую интеграцию с этими функциями и API.
- Native пользовательский опыт: Нативные фреймворки обеспечивают единообразный опыт на устройствах Windows, гарантируя, что ваше приложение выглядит и работает отлично везде.
- Автономная поддержка: Собственные платформы поддерживают автономные сценарии, позволяя приложениям функционировать даже без подключения к Интернету.
- Монетизация: Родные наборы средств активно поддерживаются и сопровождаются Майкрософт, обеспечивая доступ к последним обновлениям и функциям.
Какую платформу следует использовать, чтобы воспользоваться последними инвестициями Майкрософт в разработку приложений Windows?
Если вы создаете новое приложение только для Windows, рекомендуется использовать WinUI. WinUI — это последняя собственная платформа пользовательского интерфейса для разработки приложений Windows и предназначена для работы в широком спектре устройств Windows. Она предоставляет современную и гибкую платформу пользовательского интерфейса для создания визуальных и интерактивных Windows приложений. WinUI является частью Windows App SDK и лучше всего работает с последними версиями Windows.
Могу ли я использовать Windows App SDK / WinUI в существующем приложении Windows?
Обратите внимание, что WinUI (платформа пользовательского интерфейса) поставляется с платформой Windows App SDK (платформа разработки платформы Windows).
Как правило, WinUI нельзя использовать, если приложение не готово к переносу своей платформы пользовательского интерфейса полностью. Функция с именем XAML Islands позволяет размещать содержимое WinUI в других платформах пользовательского интерфейса (WPF, Win32). Дополнительные сведения см. в документации по XAML Islands .
Элементы Windows App SDK часто можно использовать в настольных приложениях, в зависимости от того, как было создано существующее приложение. Приложения UWP не поддерживаются Windows App SDK.
Это означает, что приложения WPF/MFC/WinForms могут использовать Windows App SDK API, которые не связаны с WinUI. К примерам относятся жизненный цикл приложения, управление окнами и всплывающие уведомления.
Дополнительные сведения см. в статье Использование Windows App SDK в существующем проекте.
Необходимо использовать Visual Studio для создания приложений WinUI?
Я получаю ошибку "не удалось загрузить DLL 'Майкрософт.ui.xaml.dll'" при запуске приложения. Как это исправить?Для разработки WinUI настоятельно рекомендуется использовать Visual Studio 2026 или более поздней версии. Последние версии Visual Studio предлагают широкие возможности разработки, такие как Горячая перезагрузка, и включают рабочую среду для разработки приложений WinUI, которая упрощает настройку.
Другие среды разработки и рабочие процессы могут работать, но Visual Studio в настоящее время является единственным официально поддерживаемым IDE для WinUI. Обратите внимание, что MSBuild требуется для компиляции проектов XAML или WinUI.
Эта ошибка обычно возникает в сценариях unpackaged приложения, в которых среда выполнения Windows App SDK не установлена на компьютере. Попробуйте сделать следующее.
- Если вы используете приложение packaged (рекомендуемый по умолчанию вариант), убедитесь, что вы запускаете через Visual Studio с выбранным профилем запуска MsixPackage (а не обычным профилем исполняемого файла). Шаг упаковки MSIX устанавливает необходимые компоненты среды выполнения.
- Если вы используете приложение
unpackaged , необходимо установить< среду выполненияWindows App SDK/c1> отдельно перед запуском приложения за пределами Visual Studio. - Если ошибка возникает во время разработки, откройте
.csprojи убедитесь, что конфигурация упаковки соответствует модели развертывания: для упакованных приложений опустите<WindowsPackageType>свойство (или оставьте его по умолчанию) и создайте или запустите пакет MSIX; для распаковки приложений<WindowsPackageType>None</WindowsPackageType>установите и убедитесь, что вы вызвалиBootstrap.Initialize()при запуске.Дополнительные сведения о требованиях к развертыванию см. в приложенияхDeploy, использующих Windows App SDK.
Какова разница между WinUI 3 и WinUI 2 для UWP?
WinUI (ранее называемая WinUI 3) является последней собственной платформой пользовательского интерфейса для разработки приложений Windows. Она предоставляет современную и гибкую платформу пользовательского интерфейса для создания визуальных и интерактивных Windows приложений. WinUI является частью Windows App SDK и лучше всего работает с последними версиями Windows.
WinUI для UWP (ранее называемая WinUI 2) — это набор элементов управления и стилей пользовательского интерфейса, созданных на основе UWP. Он обеспечивает современный внешний вид и впечатление для приложений UWP и предназначен для Windows 10.
Когда я создаю приложение с помощью Windows App SDK и WinUI, это приложение WinUI?
Да— "Приложение WinUI" является рекомендуемым термином. Приложения WinUI называются "приложениями WinUI", так как WinUI для UWP не является типом приложения, а набором компонентов, используемых в приложениях UWP.
Можно ли постепенно обновить приложение UWP с помощью WinUI для элементов управления UWP на WinUI, заменив WinUI для компонентов UWP компонентами WinUI?
Нет. Windows App SDK нельзя использовать в приложениях UWP, а WinUI для UWP нельзя смешать с WinUI. См. Миграция с UWP на Windows App SDK.
Насколько трудно перенести приложение UWP в WinUI?
Перенос компонентов пользовательского интерфейса обычно прост (для C# и C++/WinRT). В противном случае стоимость миграции зависит в первую очередь от:
- Файл проекта и кастомизация MSBuild: объем миграции зависит от степени использования расширенных возможностей MSBuild.
- .NET миграция API: приложения UWP, использующие .NET, должны перейти на .NET 6 или позднее версии. Во многих случаях внедрение .NET 6 просто.
- Библиотеки компонентов пользовательского интерфейса: Библиотеки должны иметь версии, предназначенные для WinUI.
- Если приложение UWP написано в теперь замененном C++/CX, требуется перенос исходного кода. См. раздел "Переход на C++/WinRT" из C++/CX.
Дополнительные сведения см. в разделе Migrate из UWP в Windows App SDK.
Если у меня есть существующее приложение UWP в Магазине, можно ли опубликовать новое упакованое приложение WinUI, используя те же идентификаторы?
Да, обновленные приложения можно публиковать без обновления идентификатора приложения. Пользователи старой версии будут обновлены до новой версии. Это относится только к настольным приложениям. Xbox, HoloLens и Surface Hub приложения не могут перенестися в WinUI.
Как упаковать/распространять приложение WinUI?
См. статью Общие сведения о развертывании.
Где можно найти руководство по миграции Windows App SDK?
См. раздел Миграция с UWP на Windows App SDK.
Нужно ли использовать разметку XAML, если требуется использовать WinUI?
Есть ли в Visual Studio дизайнерская панель или дизайнер пользовательского интерфейса для WinUI?Нет. Элементы управления пользовательским интерфейсом можно создать в коде. Однако представление пользовательского интерфейса в декларативной разметке XAML обеспечивает множество преимуществ, включая улучшенный интерфейс разработчика.
- Миграция с UWP на WinUI: многие компоненты XAML и пользовательского интерфейса можно использовать повторно, хотя некоторые корректировки синтаксиса требуются.
- Переход с WPF на WinUI: многие понятия переносятся, но набор элементов управления и API отличаются.
Ещё нет. Это известная проблема в опыте разработчика WinUI. Такие инструменты, как XAML Горячая перезагрузка могут помочь во многих сценариях. Работа начата над конструктором пользовательского интерфейса Visual Studio для WinUI в Windows App SDK 1.7, но пока нет временной шкалы для его выпуска.
Включает ли Windows App SDK WinUI?
Да. WinUI поставляется в составе Windows App SDK.
Включает ли Windows App SDK WinUI для UWP?
Нет. WinUI для UWP является частью платформы UWP.
Основаны ли WinUI для UWP и WinUI на той же технологии?
Пока нет. Несмотря на то, что WinUI изначально начался из базы кода WinUI для UWP, они являются различными технологиями. Оба являются платформами пользовательского интерфейса на основе XAML, которые работают между .NET и C++, но WinUI для UWP и WinUI несовместимы друг с другом.
Могу ли я использовать WinUI без использования Windows App SDK?
Нет. WinUI поставляется в составе Windows App SDK.
Можно ли использовать WinUI в распаковке приложения?
Да. Все технологии в Windows App SDK, включая WinUI, работают в распакованных приложениях.
Какова разница между островами XAML и WinUI?
Xaml Islands позволяет размещать современные элементы управления на основе XAML вместе с существующим пользовательским интерфейсом Win32 из других платформ, таких как WinForms и WPF.
Сегодня XAML Islands поддерживают большинство системных XAML и WinUI элементов управления для UWP. Подробнее см. в элементе управления WinRT XAML для настольных приложений (XAML Islands). Поддержка размещения элементов управления WinUI доступна начиная с Windows App SDK 1.4.
Если я создам приложение WinUI, будет ли оно выглядеть современно как на Windows 11, так и на Windows 10?
Да. Пользовательский интерфейс вашего приложения наследует последние принципы проектирования пользовательского интерфейса Fluent для всех поддерживаемых версий Windows 11 и Windows 10 до версии 1809, как в упакованных, так и в неупакованных сценариях.
Можно ли использовать фоны Mica или Акрил в приложениях, созданных с помощью Windows App SDK?
Да. См. Применение материалов Mica или Acrylic в настольных приложениях для Windows 11.
Где можно найти примеры WinUI?
Смотрите пример и ресурсы. Некоторые важные репозитории:
- WindowsAppSDK-Samples: демонстрирует использование определенных наборов API Windows App SDK.
- Windows примеры для конкретных разделов: содержит пример заметок WinUI, используемый в руководстве создать приложение WinUI.
- Галерея WinUI 3: представляет WinUI и Windows App SDK. Также доступно в Microsoft Store.
Если я уже инвестировал значительные средства в WPF, следует ли продолжать использовать WPF или рассмотреть возможность перейти на WinUI?
Если вы уже вложили значительные средства в WPF, вы можете продолжать использовать его для существующих приложений. WPF — это зрелая стабильная платформа, широко используемая для создания Windows классических приложений.
Попробуйте использовать .NET Upgrade Assistant для переноса приложений 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, охватывающий такие области, как storage, сети и датчики устройств. Дополнительные 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 for Desktop.
Поддерживаются ли другие устройства Windows с использованием React Native для настольных систем?
Приложения React Native можно развертывать на всех устройствах, поддерживаемых Windows 10 и более поздних версий, включая компьютеры, планшеты, 2-in-1s, Xbox и устройства смешанной реальности.
Что мне использовать, если я хочу создать приложения, которые работают на Windows и Xbox?
Если приложение должно поддерживать Xbox, HoloLens или IoT, рекомендуется использовать UWP. Windows App SDK не поддерживает эти платформы. Для разработки игр используйте Пакет средств разработки игр Microsoft.
Что я должен использовать, если хочу создавать приложения, работающие на Windows и Surface Hub?
Если вы нацелены как на Windows, так и на центр Surface, рекомендуется использовать UWP.
Гибридная и веб-разработка
Что такое гибридные приложения и почему я должен рассмотреть возможность создания приложения?
Гибридные приложения смешивают лучшее из разработки веб-приложений и собственных приложений. Их ядро создается с помощью веб-технологий, таких как HTML, CSS и JavaScript, и упаковывается в собственный контейнер, который предоставляет access определенным функциям и оборудованию собственной платформы. Они также могут распространяться через магазины приложений.
Основное преимущество заключается в том, что гибридные приложения позволяют создавать одно приложение, которое может работать на нескольких собственных платформах и в Интернете, уменьшая время разработки и затраты. Примеры платформ разработки гибридных приложений:
- Electron для настольных приложений
- Ionic для мобильных приложений
- .NET MAUI Blazor Hybrid для кроссплатформенных приложений
Как создать прогрессивные веб-приложения (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?
Web apps предлагают самый широкий охват любой клиентской платформы приложений. Варианты создания красивых веб-приложений .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 или для нескольких платформ?
- Какие языки или навыки у вас уже есть — .NET, JavaScript, что-то еще?
- Требуется ли вам доступ к Windows api?
- Какие возможности платформы лучше всего соответствуют требованиям вашего приложения?
- См . эту таблицу для дополнительных факторов сравнения.
Для многих бизнес-приложений команды часто делают выбор на основе существующих навыков и используют то, что наиболее удобно для них.
При выборе подхода к разработке веб-приложения следует учитывать следующее:
- Blazor рекомендуется использовать для создания веб-приложений на .NET. Это позволяет создавать интерфейсные и внутренние серверные приложения с помощью .NET, экономии времени и затрат, а также особенно хорошо для корпоративных приложений.
- JavaScript web apps по-прежнему имеют смысл, если вы хотите использовать существующие навыки JavaScript или необходимо интегрировать с установленными библиотеками или фреймворками JS.
- Существующие приложения, использующие старые платформы, такие как веб-формы, MVC или Razor Pages, остаются поддерживаемыми и могут продолжать разрабатываться и поддерживаться.
Кто создает приложения с помощью WinUI сегодня?
Многие заказчики сегодня используют WinUI, в том числе Adobe и Apple.
- Adobe Fresco, бесплатное приложение для рисования и живописи.
- Приложения Apple Apple Music, Apple TV и Apple Devices были созданы с помощью WinUI и Windows App SDK.
Майкрософт также создала множество приложений WinUI, таких как Проводник Windows 11 и приложение "Фотографии".
Кто создает приложения .NET MAUI сегодня?
Многие клиенты, включая Майкрософт, создают кроссплатформенные приложения с .NET MAUI. Например, мобильное приложение Microsoft Azure создается с помощью .NET MAUI.
Дополнительные сведения см. в .NET витрине клиентов.
Who создает приложения WPF сегодня?
Большая часть пользовательского интерфейса Майкрософт Visual Studio построена с помощью WPF. Сама интегрированная среда разработки Visual Studio является основным примером сложного высокопроизводительного приложения WPF.
Кто создает приложения Blazor сегодня?
Система авиакомпаний FlightPulse от GE Digital использует Blazor для конфигурации серверной части интерфейса, с которым взаимодействуют пилоты, предоставляя пилотам данные датчиков и аналитику напрямую для повышения безопасности и эффективности.
Дополнительные сведения о клиентах Blazor на сайте .NET.
Упаковка, развертывание и обновления
Какова разница между приложениями, которые упакованы, неупакованные и упакованы с внешним расположением?
Определения упакованных, распакованных и упакованных с помощью приложений внешнего расположения см. в обзоре развертывания. В этом разделе также описываются преимущества и недостатки каждого варианта.
Будет ли приложение WinUI автоматически обновляться для конечных пользователей?
Приложение WinUI можно доставлять через Магазин, файл .appinstaller или с помощью существующего пакета MSI или setup.exe. Магазин и AppInstaller поддерживают автоматические обновления для конечных пользователей с включенными автоматическими обновлениями, но приложения MSI/setup.exe должны предоставлять собственный механизм обновления.
Могу ли я использовать Windows App SDK без использования MSBuild?
Как правило, нет. WinUI и Windows App SDK требуют MSBuild, поэтому Visual Studio является обязательным условием для разработки с ними. Хотя технически можно создавать Windows App SDK приложения, которые не используют WinUI с другими цепочками инструментов, это не поддерживается.
Производительность и оптимизация
Что я могу сделать, чтобы приложение Windows казалось отличным для конечных пользователей?
Ознакомьтесь с разработкой приложений для Windows - лучшие практики и обзором производительности приложений Windows и основных понятий.
Compatibility
Будут ли пользователи обновлять Windows для использования приложения WinUI?
Пользователи с Windows 10 версии 1809 или более поздней могут устанавливать приложения WinUI без обновления операционной системы.
Можно ли использовать Arm64 с приложением WinUI?
Да.
Устаревания и миграции
Не рекомендуется ли использовать UWP / WinUI для UWP?
Нет. UWP и WinUI для UWP по-прежнему поддерживаются и продолжают получать исправления ошибок, повышения надежности и улучшения безопасности. Однако большинство новых функций и возможностей добавляются в WinUI.
Поддержка UWP для .NET 9 доступна. Этот параметр предоставляет путь модернизации для приложений UWP с использованием последней версии .NET.
Цели поддержки UWP .NET 9:
- Укажите лучший путь миграции для разработчиков, которые хотят перейти в WinUI.
- Удалите зависимости от .NET Native, чтобы разработчики могли воспользоваться новейшими функциями .NET и C#.
Дополнительные сведения см. в записи блога: Модернизируйте приложение UWP с поддержкой предварительной версии UWP для .NET 9 и Native AOT.
Когда следует перенести приложение UWP или WinUI для UWP в WinUI?
Разработчики UWP не должны чувствовать давление на миграцию, если они удовлетворены UWP и его набором функций — для многих приложений правильный выбор может быть оставаться на UWP.
Приложения, которые хотят воспользоваться последней платформой Windows и .NET инвестиций, должны рассмотреть вопрос о переходе к Windows App SDK. См. раздел Миграция с UWP на Windows App SDK.
Когда *не* следует переносить приложение UWP + WinUI для UWP в WinUI?
Продолжайте использовать UWP, если вы создаете для Xbox, Surface Hub или HoloLens.
Является ли WPF устаревшим?
Нет. WPF поддерживается, рекомендуется и продолжает получать обновления компонентов. См. схему WPF на GitHub.
Не рекомендуется ли WinForms?
Нет. WinForms поддерживается и продолжает получать обновления компонентов. См. дорожную карту Windows Forms на GitHub.
Устарел ли среда выполнения Windows (WinRT)?
Нет. WinRT — это двоичный интерфейс приложения (ABI), который обеспечивает взаимодействие между несколькими языками. WinRT — это эволюция COM, и Windows App SDK предоставляет большую часть функций через API WinRT.
Примечания к релизу
Где можно найти заметки о релизе для Windows App SDK?
Последние заметки о выпуске можно найти на странице что нового.
Связанный контент
Windows developer