Windows на архитектуре ARM

Windows традиционно работает на компьютерах, работающих на базе процессоров x86 или x64, но в последнее время также работает на устройствах с процессорами Arm.

Устройства на базе arm особенно интересны, так как бережливый характер архитектуры Arm позволяет этим устройствам обеспечить более длительное время работы батареи, обеспечивая при этом высокую производительность. Системы Arm на микросхеме (SoC) часто включают другие ключевые функции, такие как мощный ЦП, GPU, Wi-Fi & мобильные сети передачи данных, а также нейронные процессоры (NTU) для ускорения рабочих нагрузок ИИ.

Создание приложений Для Windows, работающих в Arm

Windows 10 позволяет запускать существующие неизмененные приложения x86 на устройствах Arm. Windows 11 добавлена возможность запуска неизмененных 64-разрядных приложений для Windows на устройствах Arm! Эта возможность запуска приложений x86 & x64 на устройствах Arm дает конечным пользователям уверенность в том, что большинство существующих средств приложений & будут работать хорошо даже на новых устройствах с архитектурой Arm.

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

Средства разработчика ARM

Корпорация Майкрософт работает над созданием набора инструментов для разработчиков на основе Arm, который включает Visual Studio 2022, VSCode, цепочку инструментов VC++, классические платформа .NET Framework, современные .NET и Java. Корпорация Майкрософт также работает с несколькими сторонними организациями и сообществами с открытым кодом, чтобы перенести общие средства, среды выполнения, платформы и библиотеки в windows на Arm. Ознакомьтесь с объявлением сборки 2022 об этом комплексном наборе средств, служб и устройств, которые позволяют разработчикам создавать и переносить приложения, предназначенные для Arm так же легко, как и при выборе x64.

Службы разработчика Arm

Многие разработчики сегодня также полагаются на Виртуальные машины и контейнеры. Именно поэтому команда Microsoft Azure недавно объявила о выпуске предварительной версии своей новой службы Arm Виртуальные машины и скоро будет доступна предварительная версия контейнеров Arm через Службы Azure Kubernetes.

Большинство разработчиков также полагаются на автоматизацию сборки и тестирования с помощью непрерывной интеграции и непрерывного развертывания (CI/CD), которые часто размещаются в облачных службах, таких как Azure DevOps или GitHub. В конце лета 2022 г. корпорация Майкрософт начнет работу по переносу средства выполнения или агента автоматизации CI/CD, совместно используемого Azure DevOps и GitHub. В ближайшее время появится информация о том, когда станут доступны облачные службы ARM CI/CD.

Устройства разработчика arm

Разработчикам требуются устройства Arm, на которых можно создавать и тестировать собственные приложения Для Arm для Windows. У партнеров Майкрософт уже есть несколько устройств на базе arm. Эти портативные устройства, будь то ноутбук с форм-фактором или планшет-кабриолет, обеспечивают высокую производительность, время работы батареи и работают с растущим набором инструментов arm-native для разработчиков.

Комплект средств разработки для Windows 2023 (кодовая версия "Project Volterra") — это последнее устройство Arm, созданное для поддержки разработчиков Windows, исследователей ИИ и разработчиков, желающих интегрировать ИИ в свои приложения и возможности.

Arm64EC — создание приложений для Windows 11 в Arm

Рисунок Arm64EC.

Arm64EC ("Совместимая с эмуляцией") позволяет постепенно создавать новые приложения или переносить существующие приложения, чтобы по возможности воспользоваться преимуществами собственной производительности Arm, используя при этом существующие библиотеки кода & x64 до полного переноса. Дополнительные сведения:

Поддержка существующих приложений Windows в Arm

Рисунок

Windows on Arm запускает собственные приложения Arm, а также множество неизмененных приложений x86 & x64, но для оптимальной производительности и заряда батареи приложения должны быть созданы так, чтобы они были нативными для Arm везде, где это возможно. Приложения для Windows можно создавать с помощью различных средств и технологий, включая собственные приложения Win32 на C/C++, классические приложения платформа .NET Framework WinForms/WPF, современные приложения .NET или MAUI или даже приложения, созданные с помощью Java, Python, node и т. д.

Поиск средств для разработки arm

Рисунок

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

  • Новая среда Visual Studio на основе Arm включает Visual C++, .NET & платформа .NET Framework и Java и позволит разработчикам создавать и отлаживать приложения Arm на устройствах на основе Arm. Дополнительные сведения см. в объявлении блога.
  • Visual Studio Code изначально поддерживает Arm и может быть установлена на устройствах Arm. Расширение VS Code C++ также предоставляет поддержку IntelliSense и сборки C++ для разработки приложений Windows, которые изначально работают на устройствах Arm64.
  • .NET 6 уже поддерживает Arm как для собственного выполнения Arm, так и для эмуляции x64. Для разработки приложений .NET, которые изначально выполняются на устройствах Arm64, рекомендуется установить новый собственный visual Studio 2022 2022 17.4 и пакет SDK arm64 для .NET 7 . Дополнительные сведения о поддержке .NET 7 для Arm и улучшениях производительности Arm64 см. в блоге .NET.
  • Пакет SDK для .NET 6 Для Arm64: По умолчанию приложение dotnet run .NET 6 с пакетом SDK для Arm64 будет выполняться как Arm64. Это dotnet-runtimeinfo средство можно использовать для обнаружения среды, в которой выполняется .NET. Дополнительные сведения см . в объявлении блога о поддержке Arm64 в .NET 6 .

Примечание

Мы используем термин Arm в качестве сокращения для компьютеров под управлением классической версии Windows на процессорах Arm64 (также называются AArch64). Мы используем здесь термин Arm32 в качестве сокращения для 32-разрядной архитектуры Arm (обычно называемой Arm в другой документации). Компьютеры на платформе Arm обеспечивают отличную совместимость приложений и позволяют запускать существующие неизмененные приложения win32 x86. Приложения Arm изначально выполняются без эмуляции, а приложения x86 и x64 выполняются под эмуляцией на устройствах Arm.

Дополнительные советы по разработке приложений Для Windows, работающих на устройствах Arm

  • Мы рекомендуем использовать MSIX для упаковки приложения для распространения. Дополнительные сведения о том, как MSIX поддерживает Arm и Arm64, см. в статье Архитектуры пакетов приложений: Arm и Arm64.

  • Не все проекты Visual Studio настроены для локального запуска проектов при запуске отладки (F5) с устройства Arm. Возможно, потребуется настроить Visual Studio для удаленной отладки, даже если приложение выполняется локально. Дополнительные сведения см. в статье Удаленная отладка.

  • Чтобы найти и установить рекомендуемые пакеты в Visual Studio, посетите страницу загрузки Visual Studio.

    • Для Инструменты удаленной отладки для Visual Studio 2022 прокрутите вниз под разделом Все загрузки и разверните раскрывающееся меню Инструменты для Visual Studio 2022. Инструменты удаленной отладки для Visual Studio 2022 году будет указано там. Не забудьте проверка переключатель Arm64, а затем — Скачать.
    • Для Microsoft Visual C++ Распространяемый компонент прокрутите вниз под разделом Все загрузки и разверните раскрывающееся меню Другие инструменты и платформы. Microsoft Visual C++ Распространяемый компонент для Visual Studio 2022 будет указан там. Не забудьте проверка переключатель Arm64, а затем — Скачать.
    • Если вы используете более раннюю версию Visual Studio, щелкните ссылку Старые загрузки в нижней части страницы , чтобы найти скачиваемые файлы, связанные с вашей версией Visual Studio.
  • Когда пользователь устанавливает приложение на устройство Arm из Microsoft Store, Windows 11 автоматически выбирает оптимальную версию приложения. При отправке версий приложения x86, Arm32 и Arm64 в Microsoft Store операционная система автоматически установит версию приложения Arm64. Если вы отправляете только версии приложения x86 и Arm32, операционная система установит версию Arm32. Если отправить только версию приложения x86, операционная система установит эту версию и запустит ее под эмуляцией.

  • При выборе архитектуры приложения выберите 32-разрядную версию x86, чтобы запустить 32-разрядную версию приложения на компьютере с Windows на arm. Если версия Win32 приложения x64 не работает, для большинства приложений будет доступна версия x86.

  • Дополнительные сведения об архитектурах см. в статье Архитектуры пакета приложения.

Поддержка App Assure для миграции на Arm64

Для получения помощи при создании или обновлении приложений для поддержки устройств на основе Arm64 разработчики могут использовать App Assure (часть FastTrack) — программу совместимости приложений, которая помогает разблокировать проблемы с приложениями, предоставляя техническую поддержку. Посетите aka.ms/AppAssure.

Дополнительные ресурсы

Внешние ресурсы