Windows en ARM

Windows se ha ejecutado tradicionalmente en máquinas con tecnología de procesadores x86 / x64, pero más recientemente también se ejecuta en dispositivos con tecnología de procesadores Arm.

Los dispositivos con tecnología Arm son especialmente interesantes porque la naturaleza de energía frugal de la arquitectura Arm permite a estos dispositivos ofrecer una mayor duración de la batería a la vez que ofrece un gran rendimiento. Los sistemas en chip (SoC) de Arm suelen incluir otras características clave como una potente CPU, GPU, Wi-Fi y redes de datos móviles, así como unidades de procesamiento neuronal (NPU) para acelerar las cargas de trabajo de IA.

Compilar aplicaciones de Windows que se ejecutan en Arm

Windows 10 permite que las aplicaciones x86 existentes sin modificar se ejecuten en dispositivos Arm. Windows 11 agrega la capacidad de ejecutar aplicaciones Windows x64 sin modificar en dispositivos Arm. Esta capacidad de ejecutar aplicaciones x86 y x64 en dispositivos Arm da a los usuarios finales la seguridad de que la mayoría de sus aplicaciones y herramientas actuales se ejecutarán bien incluso en los nuevos dispositivos con tecnología Arm.

Para obtener el mejor rendimiento, capacidad de respuesta y duración de la batería, los usuarios querrán y necesitarán aplicaciones de Windows nativas de Arm, lo que significa que los desarrolladores tendrán que compilar o migrar aplicaciones de Windows nativas de Arm.

Herramientas de desarrollador de Arm

Microsoft está trabajando para ofrecer un conjunto de herramientas de desarrollo nativo de Arm que incluye Visual Studio 2022 nativo de Arm, VSCode, VC++ toolchain, .NET Framework clásico, .NET moderno y Java. Microsoft también está trabajando con varias comunidades de terceros y de código abierto para portar herramientas comunes, runtimes, marcos y bibliotecas a Windows en Arm de forma nativa. Consulta el anuncio de Build 2022 sobre este completo conjunto de herramientas, servicios y dispositivos que permiten a los desarrolladores compilar y portar aplicaciones para Arm de forma nativa con la misma facilidad que para x64.

Virtual Machines

Puedes crear e implementar máquinas virtuales Arm64 de Windows 11 con procesadores basados en ARM Ampere Altra en Azure. Aprende cómo hacerlo en este artículo de Inicio rápido.

Encuentra más información sobre usar máquinas virtuales de Windows en ARM:

Dispositivos de desarrolladores de Arm

Los desarrolladores necesitan dispositivos Arm para compilar y probar aplicaciones de Windows nativas de Arm. Ya hay disponibles varios dispositivos con tecnología Arm de asociados de Microsoft. Estos dispositivos portátiles, ya sea un dispositivo de factor de forma portátil o una tableta convertible, ofrecen un gran rendimiento, duración de la batería y ejecutan la creciente matriz de herramientas de desarrollador nativas de Arm.

Windows Dev Kit 2023 (nombre de código "Project Volterra") es el dispositivo Arm más reciente creado para admitir a desarrolladores, investigadores de IA y desarrolladores de Windows que buscan integrar la IA en sus aplicaciones y experiencias.

Arm64EC: compilar aplicaciones para Windows 11 en Arm

Arm64EC graphic.

Arm64EC (“Compatible con emulación”) permite crear nuevas aplicaciones de forma incremental o portar aplicaciones existentes para aprovechar el rendimiento nativo de Arm siempre que sea posible, al tiempo que usa código x64 y bibliotecas existentes hasta que se migre completamente. Más información:

Compatibilidad con aplicaciones existentes de Windows en Arm

App Types graphic.

Windows en Arm ejecuta aplicaciones nativas de Arm, así como muchas aplicaciones x86 y x64 no modificadas, pero para obtener el mejor rendimiento y duración de la batería, las aplicaciones deben compilarse para ser nativas de Arm siempre que sea posible. Las aplicaciones de Windows se pueden crear con muchas herramientas y tecnologías diferentes, incluidas las aplicaciones nativas C/C++ Win32, aplicaciones clásicas de .NET Framework WinForms/WPF, aplicaciones .NET o MAUI modernas, o incluso aplicaciones compiladas con Java, Python, Node, etc.

Buscar herramientas para el desarrollo de Arm

Tools graphic

Windows ofrece una variedad de herramientas y marcos para admitir el desarrollo de aplicaciones para Arm, en Arm.

  • El nuevo Visual Studio nativo de Arm incluye Visual C++, .NET y .NET Framework y Java y permitirá a los desarrolladores compilar y depurar aplicaciones Arm de forma nativa en dispositivos basados en Arm. Obtén más información en el anuncio del blog.
  • Visual Studio Code admite Arm de forma nativa y se puede instalar en dispositivos Arm. La extensión C++ de VS Code también ofrece IntelliSense de C++ y compatibilidad con la compilación para desarrollar aplicaciones de Windows que se ejecutan de forma nativa en dispositivos Arm64.
  • .NET 6 ya admite Arm, tanto para la ejecución nativa de Arm como para la emulación x64. Para desarrollar aplicaciones .NET que se ejecutan de forma nativa en dispositivos Arm64, se recomienda instalar el nuevo Visual Studio 2022 17.4 nativo de Arm y el SDK de Arm64 de .NET 7. Obtenga más información sobre la compatibilidad de .NET 7 para Arm y las mejoras de rendimiento de Arm64 en el blog de .NET.
  • SDK de Arm64 de .NET 6: de forma predeterminada, si dotnet run una aplicación .NET 6 con el SDK de Arm64, se ejecutará como Arm64. La herramienta dotnet-runtimeinfo se puede usar para detectar el entorno en el que se ejecuta .NET. Consulte el anuncio del blog de .NET 6 sobre la compatibilidad con Arm64 para obtener más información.

Nota:

Usamos el término Arm como una abreviatura para equipos que ejecutan la versión de escritorio de Windows en procesadores Arm64 (también denominados normalmente AArch64). Usamos el término Arm32 aquí como una abreviatura para la arquitectura Arm de 32 bits (comúnmente denominada Arm en otra documentación). Los equipos con tecnología de Arm proporcionan una gran compatibilidad con aplicaciones y permiten ejecutar las aplicaciones x86 win32 sin modificar. Las aplicaciones Arm se ejecutan de forma nativa sin emulación, mientras que las aplicaciones x86 y x64 se ejecutan bajo emulación en dispositivos Arm.

Sugerencias adicionales para desarrollar aplicaciones de Windows que se ejecutan en dispositivos Arm

  • Se recomienda usar MSIX para empaquetar la aplicación para su distribución. Para obtener más información sobre cómo MSIX admite Arm y Arm64, consulte Arquitecturas de paquete de la aplicación: Arm y Arm64.

  • No todos los proyectos de Visual Studio están configurados para iniciar proyectos de manera local cuando se inicia la depuración (F5) desde un dispositivo Arm. Es posible que tenga que configurar Visual Studio para realizar la depuración remota, aunque la aplicación se ejecute localmente. Para más información, consulte Depuración remota.

  • Para buscar e instalar los paquetes recomendados en Visual Studio, visite la página de descargas de Visual Studio.

    • Para las Herramientas remotas para Visual Studio 2022, desplácese debajo de la sección Todas las descargas y expanda el menú desplegable Herramientas para Visual Studio 2022. Las Herramientas remotas para Visual Studio 2022 se mostrarán allí. Asegúrese de marcar el botón de opción Arm64 y, a continuación, Descargar.
    • Para el Microsoft Visual C++ Redistributable, desplácese debajo de la sección Todas las descargas y expanda el menú desplegable Otras herramientas y marcos. Microsoft Visual C++ Redistributable para Visual Studio 2022 se mostrará allí. Asegúrese de marcar el botón de opción Arm64 y, a continuación, Descargar.
    • Si usa una versión anterior de Visual Studio, seleccione el vínculo Descargas anteriores en la parte inferior de la página para buscar las descargas asociadas a la versión de Visual Studio.
  • Cuando un usuario instala la aplicación en un dispositivo Arm desde Microsoft Store, Windows 11 seleccionará automáticamente la versión óptima de la aplicación que está disponible. Si envía versiones x86, Arm32 y Arm64 de la aplicación a Microsoft Store, el sistema operativo instalará automáticamente la versión de Arm64 de la aplicación. Si solo envía versiones x86 y Arm32 de la aplicación, el sistema operativo instalará la versión de Arm32. Si solo envía la versión x86 de la aplicación, el sistema operativo instalará esa versión y la ejecutará en emulación.

  • Cuando se le dé a elegir la arquitectura de la aplicación, elija la versión x86 de 32 bits para ejecutar la versión de 32 bits de la aplicación en un equipo con Windows en Arm. Si la versión x64 Win32 de una aplicación no funciona, la mayoría de las aplicaciones tendrán disponible una versión x86.

  • Para obtener más información sobre las arquitecturas, consulte Arquitecturas de paquete de la aplicación.

Servicio de asesoramiento de asesoría de aplicaciones de Arm

Mientras que nuestras instrucciones para agregar compatibilidad con Arm a la aplicación de Windows le explican cómo crear una versión optimizada para el Arm de las aplicaciones. El servicio de asesoramiento de asesoría de aplicaciones de Arm está disponible para ayudarle si se queda atascado. Este servicio se suma a nuestra promesa existente: las aplicaciones se ejecutarán en Windows en Arm y, si tiene algún problema, Microsoft le ayudará a corregirlo. Más información.

Registrarse en el servicio de asesoramiento de Windows ARM.

Recursos adicionales

Recursos externos