Windows no ARM

O Windows tradicionalmente é executado em computadores que são alimentados por processadores x86/x64, mas, mais recentemente, também é executado em dispositivos alimentados por processadores Arm.

Dispositivos Arm são particularmente interessantes porque a natureza de energia frugal da arquitetura Arm permite que esses dispositivos ofereçam maior duração da bateria, proporcionando um grande desempenho. O SoC (Systems on Chip) Arm muitas vezes inclui outros recursos importantes, como uma CPU poderosa, GPU, redes de dados Wi-Fi e móveis, além de NPUs (unidades de processamento neural) para acelerar cargas de trabalho de IA.

Criar aplicativos do Windows executados no Arm

O Windows 10 permite que aplicativos x86 não modificados existentes sejam executados em dispositivos Arm. O Windows 11 adiciona a capacidade de executar aplicativos Windows x64 não modificados em dispositivos Arm! Essa capacidade de executar aplicativos x86 e x64 em dispositivos Arm dá aos usuários finais a confiança de que a maioria dos aplicativos e ferramentas existentes será bem executada mesmo em novos dispositivos alimentados pelo Arm.

Para obter o melhor desempenho, capacidade de resposta e duração da bateria, os usuários desejarão e precisarão de aplicativos do Windows nativos do Arm, o que significa que os desenvolvedores precisarão criar ou portar aplicativos do Windows nativos do Arm.

Ferramentas para desenvolvedores do Arm

A Microsoft está trabalhando para fornecer um conjunto de ferramentas de desenvolvedor nativo do Arm que inclui o Visual Studio 2022 nativo do Arm, VSCode, VC++ toolchain, .NET Framework clássico, .NET moderno e Java. A Microsoft também está trabalhando com várias comunidades de terceiros e de software livre para portar ferramentas comuns, runtimes, estruturas e bibliotecas direcionados nativamente ao Windows no Arm. Confira o comunicado do Build 2022 sobre esse conjunto abrangente de ferramentas, serviços e dispositivos que permitem aos desenvolvedores criar e portar aplicativos que, nativamente, visam o Arm tão facilmente quanto o x64.

Máquinas virtuais

Você pode criar e implantar VMs Arm64 do Windows 11 com processadores baseados no Ampere Altra Arm no Azure. Saiba como neste Guia de início rápido.

Saiba mais sobre o uso de máquinas virtuais do Windows no Arm:

Dispositivos de desenvolvedor Arm

Os desenvolvedores precisam de dispositivos Arm nos quais criar e testar aplicativos do Windows nativos do Arm. Vários dispositivos com tecnologia Arm já estão disponíveis de parceiros da Microsoft. Esses dispositivos portáteis, seja um dispositivo de fator de forma de laptop ou um tablet conversível, oferecem ótimo desempenho e duração da bateria e executam a crescente matriz de ferramentas de desenvolvedor nativas do Arm.

O Windows Dev Kit 2023 (nome de código "Project Volterra") é o dispositivo Arm mais recente criado para dar suporte a desenvolvedores, pesquisadores de IA e desenvolvedores do Windows que buscam integrar a IA em seus aplicativos e experiências.

Arm64EC – criar aplicativos para Windows 11 no Arm

Arm64EC graphic.

O Arm64EC (“Compatível com Emulação”) permite que você crie novos aplicativos de forma incremental ou porte aplicativos existentes para usufruir do desempenho nativo do Arm sempre que possível, utilizando código e bibliotecas x64 existentes até serem totalmente migrados. Saiba mais:

Suporte para aplicativos existentes do Windows no Arm

App Types graphic.

O Windows no Arm executa aplicativos Arm nativos, além de muitos aplicativos x86 e x64 não modificados, mas para o melhor desempenho e duração da bateria, os aplicativos devem ser criados para serem nativos do Arm sempre que possível. Os aplicativos do Windows podem ser criados usando muitas ferramentas e tecnologias diferentes, incluindo aplicativos nativos C/C++ Win32, aplicativos clássicos do .NET Framework WinForms/WPF, aplicativos .NET ou MAUI modernos ou até mesmo aplicativos criados usando Java, Python, Node, etc.

Localizar ferramentas para o desenvolvimento do Arm

Tools graphic

O Windows oferece uma variedade de ferramentas e estruturas para dar suporte ao desenvolvimento de aplicativos para Arm, no Arm.

  • O novo Visual Studio nativo do Arm inclui Visual C++, .NET e .NET Framework e Java e permitirá que os desenvolvedores criem e depurem nativamente aplicativos Arm em dispositivos baseados em Arm. Saiba mais no comunicado do blog.
  • O Visual Studio Code dá suporte nativo ao Arm e pode ser instalado em dispositivos Arm. A extensão C++ do VS Code também oferece o IntelliSense do C++ e o suporte de build para o desenvolvimento de aplicativos do Windows que são executados nativamente em dispositivos Arm64.
  • O .NET 6 já dá suporte ao Arm, tanto para execução nativa do Arm quanto para emulação x64. Para desenvolver aplicativos .NET executados nativamente em dispositivos Arm64, recomendamos instalar o novo Visual Studio 2022 17.4 nativo do Arm e o SDK do Arm64 do .NET 7. Saiba mais sobre o suporte do .NET 7 para Arm e as melhorias de desempenho do Arm64 no blog do .NET.
  • SDK do Arm64 do .NET 6: por padrão, se você dotnet run um aplicativo .NET 6 com o SDK do Arm64, ele será executado como Arm64. A ferramenta dotnet-runtimeinfo pode ser usada para descobrir o ambiente em que o .NET está em execução. Confira o comunicado do blog do .NET 6 sobre o suporte do Arm64 para saber mais.

Observação

Usamos o termo Arm como uma abreviação para computadores que executam a versão da área de trabalho do Windows em processadores Arm64 (também chamados de AArch64). Usamos o termo Arm32 aqui como uma abreviação para a arquitetura Arm de 32 bits (geralmente chamada de Arm em outra documentação). Os computadores da plataforma Arm fornecem ótima compatibilidade com o aplicativo e permitem que você execute seus aplicativos x86 win32 não modificados existentes. Os aplicativos Arm são executados nativamente sem qualquer emulação, enquanto os aplicativos x86 e x64 são executados em emulação em dispositivos Arm.

Dicas adicionais para desenvolver aplicativos do Windows executados em dispositivos Arm

  • É recomendável usar o MSIX para empacotar seu aplicativo para distribuição. Para obter mais informações sobre como o MSIX dá suporte a Arm e Arm64, confira Arquiteturas de pacote de aplicativos: Arm e Arm64.

  • Nem todos os projetos do Visual Studio são configurados para iniciar projetos localmente quando você inicia a depuração (F5) de um dispositivo Arm. Talvez seja necessário configurar o Visual Studio para depuração remota, mesmo que seu aplicativo esteja sendo executado localmente. Para obter mais informações, confira Depuração remota.

  • Para localizar e instalar os pacotes recomendados no Visual Studio, visite a página de downloads do Visual Studio.

    • Para as Ferramentas Remotas para Visual Studio 2022, role abaixo da seção Todos os downloads e expanda o menu suspenso Ferramentas para Visual Studio 2022. As Ferramentas Remotas para Visual Studio 2022 serão listadas ali. Certifique-se de marcar o botão de opção Arm64 e, em seguida, Baixar.
    • Para o Pacote Redistribuível do Microsoft Visual C++, role abaixo da seção Todos os downloads e expanda o menu suspenso Outras ferramentas e estruturas. Os Pacotes Redistribuíveis do Microsoft Visual C++ para Visual Studio 2022 será listado lá. Certifique-se de marcar o botão de opção Arm64 e, em seguida, Baixar.
    • Se você estiver usando uma versão mais antiga do Visual Studio, selecione o link Downloads mais antigos na parte inferior da página para pesquisar os downloads associados à sua versão do Visual Studio.
  • Quando um usuário instala seu aplicativo em um dispositivo Arm da Microsoft Store, o Windows 11 seleciona automaticamente a versão ideal do seu aplicativo que está disponível. Se você enviar versões x86, Arm32 e Arm64 do seu aplicativo para a Microsoft Store, o sistema operacional instalará automaticamente a versão do Arm64 do seu aplicativo. Se você enviar apenas as versões x86 e Arm32 do seu aplicativo, o sistema operacional instalará a versão do Arm32. Se você enviar apenas a versão x86 do seu aplicativo, o sistema operacional instalará essa versão e a executará em emulação.

  • Quando for dada a escolha da arquitetura do aplicativo, escolha a versão x86 de 32 bits para executar a versão de 32 bits do aplicativo em um computador com Windows no Arm. Se a versão x64 win32 de um aplicativo não funcionar, a maioria dos aplicativos terá uma versão x86 disponível.

  • Para obter mais informações sobre arquiteturas, confira Arquiteturas de pacote de aplicativos.

Serviços de consultoria de Garantia de Aplicativo do Arm

Enquanto nossas diretrizes para adicionar suporte do Arm ao seu aplicativo do Windows explicam como criar uma versão otimizada para o Arm de seus aplicativos. Os serviços de consultoria de Garantia de Aplicativo do Arm estão disponíveis para ajudar se você ficar preso. Esse serviço se soma à nossa promessa existente: seus aplicativos serão executados no Windows no Arm e, se você encontrar problemas, a Microsoft ajudará você a corrigi-los. Saiba mais.

Inscreva-se no Serviços de Consultoria do Windows Arm.

Recursos adicionais

Recursos externos