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.
Máquinas Virtuais
Você pode criar e implantar VMs Windows 11 Arm64 com processadores baseados em 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:
Saiba mais sobre a automação de compilação e teste por meio da Integração Contínua/Implantação Contínua (CI/CD) hospedada na nuvem, como o Azure DevOps ou o GitHub.
Dispositivos de desenvolvedor Arm
O número de opções disponíveis para desenvolvedores que desejam criar e testar aplicativos nativos do Arm no Windows vem crescendo.
Os PCs Copilot+ oferecem uma Unidade de Processamento Neural (NPU) e os mais recentes recursos de IA e capacidade de computação por meio de uma variedade de fabricantes de dispositivos. Muitos dos quais são alimentados pelo processador Snapdragon® X Series baseado em Arm, oferecendo 45 trilhões de operações por segundo (TOPS) para trabalhar.
O Windows Dev Kit 2023 (codinome "Project Volterra") não está mais disponível para compra nova, mas permanece viável como um dispositivo baseado em Arm criado para dar suporte ao desenvolvimento do Windows, pesquisa de IA e testes para a integração de IA em aplicativos e experiências.
Suporte para aplicativos existentes do Windows no Arm
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
A Microsoft está sempre fornecendo atualizações de conjunto de ferramentas de desenvolvedor nativas do Arm para criar e adaptar aplicativos direcionados nativamente a dispositivos com Windows ARM com a mesma facilidade com que visam x64. Suporte ao desenvolvimento de aplicativos para Arm, no Arm.
O Visual Studio Code suporta nativamente Arm e podem ser instalados nos 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 8. Saiba mais sobre o suporte do .NET 8 para Arm e as melhorias de desempenho para Arm64 no Blog do .NET: Melhorias de desempenho do Arm64 no .NET 8 (Out 2023).
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.
A cadeia de ferramentas VC++ (Desenvolvedor Arm) é a cadeia de ferramentas GNU para versões da Arquitetura Arm produzidas pela Arm, permitindo que parceiros, desenvolvedores e a comunidade usem novos recursos da recente Arquitetura Arm e de projetos de código aberto GCC, Binutils, glibc, Newlib e GDB.
GitHub Actions: o GitHub Actions, o mecanismo de fluxo de trabalho de CI/CD do GitHub, é parte integrante dos fluxos de trabalho de muitos desenvolvedores; eles o usam para criar, testar e implantar aplicativos continuamente. Agora o GitHub Actions está disponível para Windows no Arm em 2 versões: 1. executores auto-hospedados que podem ser hospedados em um dispositivo Arm VM ou Arm, e 2. Executores hospedados no GitHub (atualmente disponíveis em beta privado, mas o lançamento geral está chegando em breve).
Docker Desktop: os contêineres são um destino de implantação bastante popular por vários motivos; um fluxo de trabalho de desenvolvimento simplificado, isolamento e segurança, utilização eficiente de recursos, portabilidade e reprodutibilidade. Agora o Docker Desktop é executado nativamente no Windows no Arm.
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.
Arm64EC - Ajuda para atualizar aplicativos do Windows para execução no Arm
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:
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 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.
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.
A fonte deste conteúdo pode ser encontrada no GitHub, onde você também pode criar e revisar problemas e solicitações de pull. Para obter mais informações, confira o nosso guia para colaboradores.
Comentários do Windows on Arm
O Windows on Arm é um projeto código aberto. Selecione um link para fornecer comentários:
Crie soluções de ponta a ponta no Microsoft Azure para criar Funções do Azure, implementar e gerenciar aplicativos Web, desenvolver soluções utilizando o Armazenamento do Microsoft Azure e muito mais.