Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
В этой статье приведены ответы на распространенные вопросы о разработке приложений 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 и прогрессивные веб-приложения (PWA).
Вы также можете ознакомиться с обзором вариантов разработки приложений для разработчиков Windows.
Почему разработка клиентских приложений по-прежнему имеет решающее значение для современной цифровой трансформации в эпоху облачных сервисов?
В эпоху cloud services разработка клиентских приложений остается критически важным компонентом современной цифровой трансформации. Для разработчиков создание клиентских приложений важно не только для достижения, но и для обеспечения быстрого, понятного взаимодействия на устройствах пользователей.
Вот почему клиентские приложения имеют значение:
- Доступ к устройствам: более чем 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.
Windows SDK — это платформа разработки, которая позволяет создавать приложения UWP и Win32, а также классические приложения. Этот пакет использует API Windows, которые привязаны к определенным версиям ОС.
The Windows App SDK не заменяет пакет SDK для Windows. Вместо этого Windows App SDK дополняет пакет SDK для Windows. Она предоставляет удобную абстракцию, не зависящую от ОС, над обширным каталогом API Windows, которые уже доступны через Windows SDK. Приложения, созданные с помощью Windows App SDK, по-прежнему могут использовать API пакета SDK для Windows в зависимости от потребностей в функциональных возможностях. Со временем все больше функций Windows SDK перейдет в Windows App SDK.
Я создаю новую команду для разработки приложения только для Windows. Почему я должен выбирать разработку с использованием родных фреймворков Windows, таких как WinUI, WPF или WinForms?
Ниже приведены некоторые причины выбора собственной платформы Windows для приложения только для Windows:
- Производительность: Собственные платформы Windows оптимизированы для использования современного оборудования Windows, обеспечивая быстрый и адаптивный интерфейс пользователя.
- Интеграция: Windows поставляется с широким спектром API, которые обеспечивают сложные возможности, доступные только в Windows. Собственные платформы обеспечивают глубокую интеграцию с этими функциями и API.
- Собственный интерфейс пользователя: Собственные платформы обеспечивают согласованный интерфейс на устройствах Windows, гарантируя, что ваше приложение выглядит и работает отлично везде.
- Автономная поддержка: Собственные платформы поддерживают автономные сценарии, позволяя приложениям функционировать даже без подключения к Интернету.
- Монетизация: Встроенные фреймворки активно поддерживаются корпорацией Майкрософт, обеспечивая доступ к последним обновлениям и функциям.
Какую платформу следует использовать для использования последних инвестиций Microsoft в разработку приложений для Windows?
Если вы создаете новое приложение только для Windows, рекомендуется использовать WinUI. WinUI — это последняя собственная платформа пользовательского интерфейса для разработки Windows app и предназначена для работы на различных устройствах Windows. Она предоставляет современную и гибкую платформу пользовательского интерфейса для создания визуальных и интерактивных приложений Windows. WinUI является частью Windows App SDK и лучше всего работает с последними версиями Windows.
Могу ли я использовать Windows App SDK / WinUI в существующем приложении для Windows?
Обратите внимание, что WinUI (платформа пользовательского интерфейса) поставляется с платформой Windows App SDK (платформа разработки платформы Windows).
Как правило, WinUI нельзя использовать, если приложение не готово к переносу своей платформы пользовательского интерфейса полностью. Функция с именем XAML islands предназначена для размещения содержимого WinUI в других платформах пользовательского интерфейса (WPF, Win32).
Элементы Windows App SDK часто можно использовать в настольных приложениях в зависимости от того, как было создано существующее приложение. Приложения UWP не поддерживаются Windows App SDK.
Это означает, что приложения WPF/MFC/WinForms могут использовать Windows App SDK API, которые не связаны с WinUI. К примерам относятся жизненный цикл приложения, управление окнами и всплывающие уведомления.
Дополнительные сведения см. в разделе Использование Windows App SDK в существующем project.
Необходимо использовать Visual Studio для создания приложений WinUI?
Для разработки WinUI настоятельно рекомендуется использовать Visual Studio 2022 версии 17.10 или более поздней версии. Последние версии Visual Studio предлагают широкие возможности разработки, такие как Hot Reload, и включают рабочую нагрузку для разработки приложений WinUI, которая упрощает настройку.
Другие среды разработки и рабочие процессы могут работать, но Visual Studio в настоящее время является единственным официально поддерживаемым IDE для WinUI. Обратите внимание, что MSBuild требуется для компиляции проектов XAML или WinUI.
Какова разница между WinUI и WinUI для UWP?
WinUI (ранее называемая WinUI 3) является последней собственной платформой пользовательского интерфейса для разработки Windows app. Она предоставляет современную и гибкую платформу пользовательского интерфейса для создания визуальных и интерактивных приложений 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?
Нет. Элементы управления пользовательским интерфейсом можно создать в коде. Однако представление пользовательского интерфейса в декларативной разметке XAML обеспечивает множество преимуществ, включая улучшенный интерфейс разработчика.
- Миграция с UWP на WinUI: многие компоненты XAML и пользовательского интерфейса можно использовать повторно, хотя некоторые корректировки синтаксиса требуются.
- Переход с WPF на WinUI: многие понятия переносятся, но набор элементов управления и API отличаются.
Имеется ли в Visual Studio дизайнерский интерфейс / конструктор интерфейса для WinUI?
Ещё нет. Это известная проблема в опыте разработчика WinUI. Такие инструменты, как XAML Hot Reload могут помочь во многих сценариях. Работа началась над конструктором пользовательского интерфейса 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 или акрила в классических приложениях для 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 для переноса приложений 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 и позже, включая компьютеры, планшеты, трансформеры, Xbox и устройства смешанной реальности.
Что следует использовать, если я хочу создать приложения, работающие в Windows и Xbox?
Если ваше приложение должно поддерживать Xbox, HoloLens или IoT, рекомендуется использовать UWP. Windows App SDK не поддерживает эти платформы. Для разработки игр используйте Microsoft Game Development Kit.
Что мне использовать, если я хочу создавать приложения, работающие в Windows и на Surface Hub?
Если вы нацеливаетесь на Windows и Surface Hub, рекомендуется использовать UWP.
Гибридная и веб-разработка
Что такое гибридные приложения и почему я должен рассмотреть возможность создания приложения?
Как мне создавать прогрессивные веб-приложения (PWA), которые ощущаются как родные на Windows?Гибридные приложения смешивают лучшее из разработки веб-приложений и собственных приложений. Их ядро создается с помощью веб-технологий, таких как HTML, CSS и JavaScript, и упаковывается в собственный контейнер, который предоставляет access определенным функциям и оборудованию собственной платформы. Они также могут распространяться через магазины приложений.
Основное преимущество заключается в том, что гибридные приложения позволяют создавать одно приложение, которое может работать на нескольких собственных платформах и в Интернете, уменьшая время разработки и затраты. Примеры платформ разработки гибридных приложений:
- Electron для настольных приложений
- Ionic для мобильных приложений
- .NET MAUI Blazor Hybrid для кроссплатформенных приложений
См. Разработка веб-приложений на 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.
Должно ли все приложение быть гибридным приложением или может ли я смешивать и сопоставлять собственные и гибридные компоненты?
Собственные и гибридные компоненты могут быть смешанными в приложении. Например, ядро приложения может быть создано с помощью компонентов MAUI .NET, а гибридные компоненты предоставляют дополнительные функциональные возможности. Это позволяет сочетать производительность и возможности собственных компонентов с гибкостью и экономичностью гибридных компонентов.
Какие у меня есть варианты для создания веб-приложений на базе .NET, которые прекрасно отображаются в современных браузерах на Windows?
Web apps предлагают самый широкий охват любой клиентской платформы приложений. Варианты создания красивых .NET web apps включают:
- приложения 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 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 File Explorer и приложение "Фотографии".
Кто сегодня создает приложения на .NET MAUI?
Многие клиенты, включая Корпорацию Майкрософт, создают кроссплатформенные приложения с .NET MAUI. Например, Microsoft Azure мобильное приложение создается с помощью .NET MAUI.
Подробнее см. в .NET клиентских историях успеха.
Who создает приложения WPF сегодня?
Большая часть пользовательского интерфейса Microsoft 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 Runtime (WinRT) устаревшей?
Нет. WinRT — это двоичный интерфейс приложения (ABI), который обеспечивает взаимодействие между несколькими языками. WinRT — это эволюция COM, и Windows App SDK предоставляет большую часть функций через API WinRT.
Примечания к релизу
Где можно найти заметки о выпуске для Windows App SDK?
Последние заметки о выпуске можно найти на странице что нового.
Связанный контент
Windows developer