Эта статья призвана проинформировать о возможностях разработки для Windows и планах развития продукта.
Современная среда разработки приложений 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 3 — эта платформа пользовательского интерфейса в составе Windows App SDK.
В чем разница между Windows App SDK и Windows SDK?
Оба являются пакетами разработки ПО (SDK) для создания приложений Windows.
Windows App SDK — это новая платформа разработки, которая позволяет создавать современные классические приложения для установки в версиях Windows (вплоть до Windows 10 1809). При использовании пакета SDK для приложений Windows для создания приложения у вас будет доступ к новейшим функциям платформы разработки Windows. Windows App SDK включает WinUI 3.
Windows SDK — это платформа разработки, которая позволяет создавать приложения UWP и Win32, а также классические приложения. Этот пакет использует API Windows, которые привязаны к определенным версиям ОС.
Windows App SDK не заменяет Windows SDK. Windows App SDK дополняет Windows SDK. Он предоставляет удобную и не привязанную к ОС абстракцию для широкого каталога API ОС Windows, к которому вы уже имеете доступ через Windows SDK. При создании приложений с помощью Windows App SDK вам может потребоваться использовать некоторые API Windows SDK в зависимости от требуемой функциональности. Функции Windows SDK будут постепенно переноситься в Windows App SDK.
Я создаю новую команду для разработки приложения только для Windows. Почему следует разрабатывать собственные платформы Windows, такие как WinUI, WPF или WinForms?
Ниже приведены некоторые причины выбора собственной платформы Windows для приложения только для Windows:
- производительность: собственные платформы Windows оптимизированы для использования полной мощности современного оборудования Windows и обеспечения быстрой и быстрой работы пользователей.
- интеграция : Windows поставляется с широкими разновидностями API для создания сложных возможностей, доступных только в Windows. Собственные платформы обеспечивают глубокую интеграцию с этими функциями и API.
- собственный пользовательский интерфейс: собственные платформы Windows обеспечивают согласованное взаимодействие с пользователем на устройствах с Windows, что гарантирует, что ваше приложение выглядит и работает хорошо на всех устройствах Windows.
- автономная поддержка: собственные платформы Windows обеспечивают поддержку автономных сценариев, что позволяет приложению работать, даже если пользователь не подключен к Интернету.
- Монетизация: собственные платформы Windows активно поддерживаются и поддерживаются корпорацией Майкрософт, обеспечивая доступ к последним обновлениям и функциям.
Какую платформу следует использовать для использования последних инвестиций Майкрософт в разработку приложений Windows?
Если вы создаете новое приложение только для Windows, рекомендуется использовать WinUI. WinUI — это последняя собственная платформа пользовательского интерфейса для разработки приложений Windows и предназначена для работы на разных устройствах Windows. WinUI предоставляет современную и гибкую платформу пользовательского интерфейса, которая позволяет создавать визуальные и интерактивные приложения Windows. WinUI является частью пакета SDK для приложений Windows и предназначен для оптимальной работы с последними версиями Windows.
Можно ли использовать пакет SDK для приложений Windows или WinUI в существующем приложении Windows?
Обратите внимание, что WinUI (платформа пользовательского интерфейса) поставляется с пакетом SDK для приложений Windows (платформа разработки платформы Windows).
Как правило, вы не можете использовать WinUI, если вы не готовы перенести платформу пользовательского интерфейса полностью. Мы работаем над функцией островов XAML, которая позволяет размещать содержимое WinUI в других платформах пользовательского интерфейса (WPF, Win32).
Вы должны иметь возможность использовать элементы пакета SDK для приложений Windows в любом классическом приложении в зависимости от того, как было создано существующее приложение. Приложения UWP не поддерживаются пакетом SDK для приложений Windows.
Это означает, что приложения WPF/MFC/WinForms могут использовать API-интерфейсы пакета SDK для приложений Windows, которые не связаны с WinUI. Примеры таких API: жизненный цикл приложений, работа с окнами и всплывающие уведомления.
Дополнительные сведения см. в статье Использование пакета SDK для приложений Windows в существующем проекте.
Нужно ли использовать Visual Studio для создания приложений WinUI?
Настоятельно рекомендуется использовать Visual Studio 2022 версии 17.10 и выше для разработки приложений WinUI. Последняя версия Visual Studio предоставит вам доступ к многофункциональным возможностям разработки, таким как горячая перезагрузка. Последние установщики Visual Studio включают рабочую нагрузку разработки приложений Windows, что упрощает начало разработки WinUI.
Вы можете использовать другие рабочие процессы и рабочие процессы разработки, но Visual Studio в настоящее время является единственной официально поддерживаемой интегрированной среды разработки для WinUI. Обратите внимание, что MSBuild требуется для компиляции проектов, использующих XAML или WinUI.
При создании приложения с помощью пакета SDK для приложений Windows и WinUI 3 я создаю приложение WinUI?
Да. "Приложение WinUI" — это термин, который мы рекомендуем использовать. Приложения WinUI 3 обычно называются "приложениями WinUI", так как WinUI 2 не является типом приложения, а набором компонентов, которые можно использовать в приложениях UWP.
Можно ли постепенно обновить приложение UWP с элементами управления WinUI 2 до WinUI 3, постепенно заменив компоненты WinUI 2 компонентами WinUI 3?
№ Windows App SDK нельзя использовать в приложениях UWP, а WinUI 2 нельзя использовать совместно с WinUI 3. См. статью "Миграция из UWP" в пакет SDK для приложений Windows.
Насколько трудно перенести приложение UWP в WinUI?
Перенос компонентов пользовательского интерфейса обычно прост (для C# и C++/WinRT). В противном случае стоимость миграции из UWP в WinUI будет зависеть в первую очередь от следующих факторов:
- Настройка файла проекта и MSBuild. Перенос проекта может потребовать значительных усилий в зависимости от того, используются ли расширенные функции MSBuild.
- Миграция API .NET. Если приложение UWP использует .NET, необходимо обновить до .NET 6 или более поздней версии. В большинстве случаев внедрение .NET 6 является прямым.
- Библиотеки компонентов пользовательского интерфейса: если вы используете библиотеки компонентов пользовательского интерфейса, вам потребуется новая версия этих библиотек, предназначенных для WinUI 3.
- Если исходный код UWP написан в теперь заменяемом C++/CX, некоторые порты исходного кода будут задействованы. См. раздел "Переход на C++/WinRT" из C++/CX.
Дополнительные сведения о миграции UWP см. в статье "Миграция из UWP в пакет SDK для приложений Windows".
Если у меня есть существующее приложение UWP в Магазине, можно ли опубликовать новое упакованое приложение WinUI, используя те же идентификаторы?
Да, обновленные приложения можно публиковать без необходимости обновлять удостоверение приложения. Пользователи со старой версией получат обновление до новой версии. Эта рекомендация относится только к классическим приложениям. Приложения Xbox, HoloLens и Surface Hub не могут перенестися в WinUI.
Как упаковывать или распространять приложение WinUI?
См. статью Общие сведения о развертывании.
Где найти рекомендации по миграции на Windows App SDK?
См. статью "Миграция из UWP" в пакет SDK для приложений Windows.
Нужно ли использовать разметку XAML, если требуется использовать WinUI?
№ Элементы управления пользовательским интерфейсом можно создать в коде. Но существует множество преимуществ для представления пользовательского интерфейса WinUI в виде декларативной разметки XAML, таких как улучшенный интерфейс разработчика.
Если вы выполняете миграцию из UWP в WinUI, вы, вероятно, сможете повторно использовать много разметки XAML и код, связанный с пользовательским интерфейсом (но вам придется обновить некоторые синтаксиса). Если вы выполняете миграцию из WPF в WinUI, вы сможете повторно использовать множество концепций, но набор элементов управления и API будут отличаться.
Имеет ли Visual Studio область конструктора или конструктор пользовательского интерфейса для WinUI?
Ещё нет. Мы понимаем, что это разрыв в интерфейсе разработчика WinUI. Такие средства, как XAML Hot Reload, помогают во множестве сценариев. Work начал в конструкторе пользовательского интерфейса Visual Studio для WinUI в пакете SDK для приложений Windows 1.7, но пока не существует временной шкалы для выпуска этой функции.
Входит ли WinUI 3 в состав Windows App SDK?
Да. WinUI 3 входит в состав пакета SDK для приложений для Windows.
Входит ли WinUI 2 в состав Windows App SDK?
№ WinUI 2 входит в состав платформы UWP.
Основаны ли WinUI 2 и WinUI 3 на одной технологии?
Пока нет. Хотя WinUI 3 основывается на базе кода WinUI 2, они различаются. WinUI 2 и WinUI 3 — это платформы пользовательского интерфейса на основе XAML, которые работают в .NET и C++. Учтите, что WinUI 2 и WinUI 3 несовместимы друг с другом.
Можно ли использовать WinUI 3 без Windows App SDK?
№ WinUI 3 входит в состав Windows App SDK.
Можно ли использовать WinUI 3 в распаковке приложения?
Да. Все технологии в Windows App SDK работают в приложениях без упаковки, включая WinUI 3.
В чем разница между XAML Islands и WinUI 3?
XAML Islands позволяет вам размещать современные элементы управления WinUI вместе с существующими пользовательскими интерфейсами Win32 от других платформ, такими как WinForms и WPF. На сегодня XAML Islands поддерживается с большинством системных элементов управления XAML и WinUI 2. Дополнительные сведения см. в элементах управления WinRT XAML в классических приложениях (XAML Islands). Поддержка элементов управления WinUI 3 в XAML Islands доступна начиная с пакета SDK для приложений Windows 1.4.
Если я создаю приложение WinUI, будет выглядеть современно как в Windows 11, так и в Windows 10?
Да, пользовательский интерфейс приложения наследует последние принципы проектирования пользовательского интерфейса Fluent для всех поддерживаемых версий Windows 11 и Windows 10 вплоть до версии 1809 в сценариях с упаковкой и без нее.
Можно ли использовать мику или акриловые фоны в приложениях, созданных с помощью пакета SDK для приложений Windows?
Да. См. статью "Применить мику" или "Акриловые материалы" в классических приложениях для Windows 11.
Где можно найти примеры WinUI?
См . пример и ресурсы. Некоторые важные репозитории:
- WindowsAppSDK-Samples — демонстрирует, как использовать определенные наборы API для Windows App SDK.
- демонстрации WinUI 3: содержит демонстрации, используемые во время презентаций WinUI Корпорации Майкрософт.
- коллекция WinUI: демонстрирует WinUI и пакет SDK для приложений Windows. Вы также можете получить коллекцию WinUI в Microsoft Store.
Если я уже инвестировал в WPF, следует ли продолжать использовать WPF или рассмотреть возможность миграции в WinUI?
Если вы уже вложили значительные средства в WPF, вы можете продолжать использовать WPF для существующих приложений. WPF — это зрелая и стабильная платформа, которая широко используется разработчиками для создания классических приложений Windows.
Попробуйте использовать помощник по обновлению .NET .NET для переноса приложений WPF .NET Framework на последнюю платформу .NET. Помощник по обновлению .NET — это средство, которое помогает перенести приложения .NET Framework в последние поддерживаемые версии .NET. Помощник по обновлению .NET анализирует существующую базу кода и предоставляет рекомендации по обновлению кода.
Если создать новое приложение WPF, оно будет выглядеть по сравнению с другими новыми приложениями Windows?
При разработке приложения WPF с помощью .NET 9 или более поздней версии вы можете убедиться, что ваше приложение соответствует простому, современному виду Windows 11. Новая тема Fluent для WPF представляет современную эстетику Windows 11 для приложений WPF, в комплекте с интегрированным режимом light/Dark и поддержкой цвета элементов системы. Это обновление не только модернизирует внешний вид вашего приложения, но и повышает взаимодействие пользователей, обеспечивая польную и сплоченную работу пользователей.
Моя команда комфортно создает приложения WinForms, и это соответствует нашим потребностям. Следует ли рассмотреть возможность миграции в WinUI или другую платформу?
Если ваша команда комфортно создает приложения WinForms и WindForms соответствует вашим потребностям, вы можете продолжать использовать WinForms для существующих приложений. WinForms — это зрелая и стабильная платформа, которая широко используется разработчиками для создания классических приложений Windows.
Команда WinForms инвестирует в функции и имеет активное сообщество участников. К некоторым текущим областям инвестиций относятся:
- Поддержка асинхронного управления с общими элементами управления
- Темный режим
- Гибкость макета
- Функции безопасности компьютеров, такие как доступ к буферу обмена
Кроссплатформенная разработка
Каковы некоторые причины создания кроссплатформенных собственных приложений, предназначенных для Windows?
Если вы нацелены на пользователей на нескольких платформах ОС, создание кроссплатформенных приложений с помощью .NET MAUI или React Native может обеспечить несколько преимуществ:
- Reach: Создание кроссплатформенных приложений позволяет достичь большей аудитории пользователей на разных платформах.
- код повторно используется: создание кроссплатформенных приложений позволяет повторно использовать код на разных платформах, уменьшая время разработки и затраты. Это может быть запрещено дорого для создания отдельных приложений для Windows, iOS, Android, macOS и т. д.
- Согласованное взаимодействие с пользователем: создание кроссплатформенных приложений позволяет обеспечить согласованный пользовательский интерфейс на разных платформах, гарантируя, что ваше приложение выглядит и работает хорошо на всех устройствах.
- интеграция: создание кроссплатформенных приложений позволяет интегрироваться с различными платформами и службами, что позволяет обеспечить более широкий пользовательский интерфейс.
Могу ли я быть уверен, что приложения .NET MAUI будут работать хорошо в Windows?
При создании приложения .NET MAUI для Windowsвыходные данные — это приложение WinUI. При разработке .NET MAUI обеспечивает единый интерфейс .NET на всех платформах, включая Windows, но под капотом, он создает код для конкретной платформы. Это гарантирует, что приложение .NET MAUI хорошо работает на каждой платформе и обеспечивает собственный интерфейс пользователя.
Как .NET MAUI предоставляет собственные API устройств на каждой платформе?
.NET MAUI предоставляет единый интерфейс .NET на всех платформах, включая Windows, iOS, Android и macOS. .NET MAUI абстрагирует более 60 API для конкретной платформы в один кроссплатформенный API, который можно использовать в приложении .NET MAUI. Эти API охватывают доступ к хранилищу, сети, датчикам для конкретного устройства и т. д. При необходимости вы также можете получить доступ к дополнительным API для конкретной платформы, используя внедрение зависимостей для абстрагирования кода для каждой платформы.
Можно ли начать с WinUI, а затем интегрировать .NET MAUI, если в конечном итоге требуется использовать кроссплатформенные сценарии?
В настоящее время нет. Хотя приложения .NET MAUI используют WinUI при работе в Windows, рекомендуется начать с .NET MAUI или React Native для desktop, если предполагается, что требуется использовать несколько платформ.
Наша команда имеет сильные навыки разработки веб-интерфейсов. Следует ли использовать React Native для настольных компьютеров?
Если у вашей команды есть сильные навыки разработки веб-приложений, вы можете рассмотреть возможность использования React Native для Desktop. React Native for Desktop включает React Native для платформ Windows и платформ macOS. Девиз React Native — Learn, write anywhere, — это значит, что вы можете использовать существующие навыки разработки веб-приложений для создания собственных приложений Windows с помощью React Native. React Native для настольных компьютеров — это проект с открытым исходным кодом, который позволяет создавать собственные приложения Windows и macOS с помощью React Native. React Native для Desktop предоставляет набор API,которые позволяют получать доступ к функциям и возможностям классической ОС в приложениях React Native.
Ваша команда может использовать свои навыки JavaScript, TypeScript и React для создания слоя пользовательского интерфейса, который отрисовывается непосредственно в собственных примитивах. Это обеспечивает производительность собственного приложения и доступ к возможностям собственной платформы.
Дополнительные сведения о начале разработки React Native для Windows см. в документации React Native для настольных компьютеров.
Поддерживаются ли другие устройства Windows React Native для desktop?
Приложения React Native можно развертывать на всех устройствах, поддерживаемых Windows 10 и выше, включая компьютеры, планшеты, 2-in-1s, Xbox и устройства смешанной реальности.
Что следует использовать, если я хочу создавать приложения для Windows и Xbox?
Если для приложения требуется поддержка Xbox, HoloLens или Интернета вещей, мы рекомендуем использовать UWP. Пакет SDK для приложений Windows не поддерживает эти платформы. Для разработки игр мы рекомендуем использовать комплект Microsoft Game Development Kit.
Что следует использовать, если я хочу создавать приложения для Windows и Surface Hub?
Если вы ориентируетесь на Windows и Surface Hub, мы рекомендуем использовать UWP.
Гибридная и веб-разработка
Что такое гибридные приложения и почему я должен рассмотреть возможность создания приложения?
Гибридные приложения смешивают лучшее из разработки веб-приложений и собственных приложений. Ядро приложения создается с помощью таких веб-технологий, как HTML, CSS и JavaScript, а затем упаковывается в собственный контейнер, который позволяет приложению использовать определенные собственные функции платформы и оборудование. Они также могут распространяться через магазины приложений.
Основное преимущество гибридных приложений заключается в том, что они позволяют создавать одно приложение, которое может работать на нескольких собственных платформах и в Интернете, уменьшая время разработки и затраты. Некоторые примеры ответов на платформы разработки гибридных приложений:
- Electron для классических приложений
- Ionic для мобильных приложений
- Гибридная среда .NET MAUI Blazor для кроссплатформенных приложений
Как создавать близкие к нативным прогрессивные веб-приложения (PWA) в Windows?
Что такое гибридное приложение .NET MAUI Blazor?
С помощью .NET MAUI приложения Blazor также могут работать в собственном коде в Windows, iOS, Android и macOS. Это означает, что вы можете создавать гибридные клиентские приложения, которые объединяют компоненты Blazor и .NET MAUI в одно собственное клиентское приложение. Это обеспечивает полный доступ к тем же возможностям собственной платформы, которые доступны любым другим приложениям MAUI .NET.
Дополнительные сведения о том, как Blazor может размещаться в приложении .NET MAUI, см. в статье ASP.NET Core Blazor Hybrid.
Необходимо ли создавать веб-компоненты гибридного приложения .NET MAUI с помощью Blazor?
Нет, веб-компоненты гибридного приложения .NET MAUI не нужно создавать с помощью Blazor. Начиная с .NET 9, .NET MAUI предоставляет элемент управления HybridWebView, который позволяет размещать другие пользовательские интерфейсы JavaScript в собственном приложении.
Это означает, что вы можете взять приложение Angular, React, Vue или другой HTML-& JavaScript и разместить его в приложении .NET MAUI. Гибридный элемент управления обеспечивает взаимодействие между слоями C# и JavaScript, чтобы можно было вызывать функции JavaScript из C# и наоборот.
Могут ли другие собственные типы приложений размещать гибридные компоненты Blazor?
Да, приложения WPF и WinForms также могут размещать гибридные компоненты Blazor. Это позволяет добавлять современные компоненты веб-интерфейса в существующие приложения WPF и WinForms. Обратите внимание, что это невозможно с приложениями WPF или WinForms, созданными на платформе .NET Framework.
Должно ли все приложение быть гибридным приложением или может ли я смешивать и сопоставлять собственные и гибридные компоненты?
Вы можете смешивать и сопоставлять собственные и гибридные компоненты в приложении. Например, можно создать ядро приложения с помощью компонентов .NET MAUI, а затем добавить гибридные компоненты для предоставления дополнительных функциональных возможностей. Это позволяет использовать лучшие возможности обоих миров: производительность и возможности собственных компонентов, гибкость и экономию затрат на гибридные компоненты.
Что такое мой выбор для строительства. Веб-приложения на основе NET, которые выглядят отлично в современных браузерах в Windows?
Веб-приложения имеют самый широкий охват любой клиентской платформы приложений. Если вы хотите создать красивые веб-приложения .NET в Windows, у вас есть несколько вариантов:
- приложения 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. Используя Blazor, теперь вы можете создать весь интерфейс и серверную часть с помощью .NET, экономя время и деньги. Он особенно хорошо подходит для корпоративных бизнес-приложений на современных устройствах.
- Веб-приложения JavaScript по-прежнему должны иметь смысл, если вы хотите использовать существующие навыки или инвестиции вашей команды в JavaScript, или если необходимо интегрировать с существующими библиотеками JavaScript или платформами.
- Существующие приложения, использующие старые платформы, такие как веб-формы, MVC или Razor Pages, по-прежнему поддерживаются и могут продолжать разрабатываться и поддерживаться с помощью этих платформ.
Кто создает приложения с помощью WinUI сегодня?
Многие клиенты строятся с WinUI сегодня, в том числе Adobe и Apple:
- Adobe Фреско, бесплатное приложение для рисования и рисования для Windows.
- Apple создала Apple Music, Apple TVи приложения Apple Devices с помощью WinUI и пакета SDK для приложений Для Windows.
Корпорация Майкрософт также создала несколько приложений с Помощью WinUI, включая приложения Проводника Windows 11 и Фотографии.
Кто создает приложения .NET MAUI сегодня?
Многие клиенты используют .NET MAUI для создания кроссплатформенных приложений сегодня, включая Корпорацию Майкрософт. Например, мобильное приложение Microsoft Azure было создано с помощью .NET MAUI.
Узнайте, кто еще создает приложения с помощью .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 подписан, сертификат подписи должен быть допустимым и доверенным на целевом устройстве.
Можно ли совместно использовать элементы управления пользовательским интерфейсом UWP XAML с элементами управления пользовательским интерфейсом Win32, WPF или WinForms?
Да. XAML Islands предоставляет такую возможность. Подробнее о XAML Islands.
Упаковка, развертывание и обновления
Какова разница между приложениями, которые упаковываются, распаковываются и упаковываются с внешним расположением?
Определения приложений, которые упаковываются, распаковываются и упаковываются с внешним расположением, см. в обзоре развертывания. В этом разделе также описываются преимущества и недостатки каждого варианта.
Будет ли приложение WinUI автоматически обновляться для конечных пользователей?
Приложение WinUI можно доставлять через Магазин, файл appinstaller или в существующем пакете MSI или setup.exe. Store и AppInstaller поддерживают автоматическое обновление для конечных пользователей, у которых включено автоматическое обновление, но приложение MSI/setup.exe должно иметь собственное средство обновления.
Можно ли использовать Windows App SDK без MSBuild?
Как правило, нет. Для пакета SDK для приложений WinUI и Windows требуется MSBuild, поэтому Visual Studio является необходимым условием для разработки с помощью WinUI и пакета SDK для приложений Windows. Хотя технически можно создавать приложения пакета SDK для приложений Windows, которые не используют WinUI с помощью других цепочк инструментов, это не поддерживается.
Производительность и оптимизация
Что можно сделать, чтобы пользователям было удобно работать с моим приложением Windows?
См. статью 11 основных действий, которые можно выполнить, чтобы ваше приложение прекрасно работало в Windows 11.
Совместимость
Придется ли пользователям обновлять Windows для использования приложения WinUI?
Пользователи с Windows 10 версии 1809 и более поздних версий смогут устанавливать приложения WinUI без обновления операционной системы.
Можно ли использовать Arm64 с приложением WinUI?
Да.
Нерекомендуемые компоненты и миграции
Являются ли UWP и WinUI 2 нерекомендуемыми?
№ UWP и WinUI 2 пока поддерживаются и будут получать исправления ошибок и обновления для надежности и безопасности. Однако большинство новых функций и возможностей будут добавлены только в WinUI 3.
Заметка
Поддержка UWP для .NET 9 доступна в предварительной версии. Эта предварительная версия поддерживает путь для приложений UWP для модернизации с помощью последней версии .NET.
Существует две основные цели поддержки .NET 9 UWP. Во-первых, он обеспечивает лучший путь миграции для разработчиков UWP, которые хотят перенести в WinUI 3. Во-вторых, разработчики могут удалять зависимости от .NET Native, чтобы они могли воспользоваться новейшими функциями .NET и C#, независимо от того, что такое модель приложения.
Дополнительные сведения см. в модернизации приложения UWP с предварительной версией поддержки UWP для .NET 9 и записи блога AOT native A OT.
Когда следует переносить приложение UWP/WinUI 2 на WinUI 3?
Разработчики UWP не должны чувствовать давление на перенос своих приложений в WinUI 3, если они довольны UWP и его набором функций. Для некоторых приложений лучшим выбором может быть вообще не выполнять миграцию. Если вы хотите, чтобы приложения использовали последние возможности платформы Windows и .NET от Майкрософт, их лучше перенести на Windows App SDK. См. статью Миграция из UWP на Windows App SDK.
Когда не следует переносить приложение UWP + WinUI 2 на WinUI 3?
Мы рекомендуем продолжать использовать 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?
См. заметки о выпуске из канала стабильных версий и заметки о выпуске из канала предварительных версий.