Windows viene tradizionalmente eseguito su macchine dotate di processori x86 / x64, ma più recentemente viene eseguito anche su dispositivi dotati di processori Arm.
I dispositivi alimentati da Arm sono particolarmente interessanti perché la loro natura di risparmio energetico consente a questi dispositivi di offrire una maggiore durata della batteria e allo stesso tempo grandi prestazioni. I sistemi su chip (SoC) Arm spesso includono altre caratteristiche chiave come una potente CPU, una GPU, reti dati mobili Wi-Fi & e unità di processore neurale (NPU) per accelerare i carichi di lavoro dell'intelligenza artificiale.
Costruisci applicazioni Windows che funzionano su Arm
Windows 10 consente alle applicazioni x86 esistenti e non modificate di funzionare su dispositivi Arm. Windows 11 aggiunge la possibilità di eseguire applicazioni Windows x64 non modificate su dispositivi Arm! La possibilità di eseguire applicazioni x86 & x64 su dispositivi Arm dà agli utenti finali la certezza che la maggior parte delle applicazioni esistenti & funzioneranno bene anche sui nuovi dispositivi Arm.
Per ottenere le migliori prestazioni, reattività e durata della batteria, gli utenti vorranno e avranno bisogno di applicazioni Windows Arm-native, il che significa che gli sviluppatori dovranno creare o portare applicazioni Windows Arm-native.
Macchine virtuali
È possibile creare e distribuire macchine virtuali Windows 11 Arm64 con processori basati su Arm ampere in Azure. Scopri come in questo articolo Quickstart.
Scopri di più sull'utilizzo di Windows su macchine virtuali Arm:
Scopri di più sull'automazione di build e test attraverso la Continual Integration / Continual Deployment (CI/CD) ospitata nel cloud, come Azure DevOps o GitHub.
Dispositivi per sviluppatori Arm
Il numero di opzioni disponibili per gli sviluppatori che vogliono compilare e testare app native arm in Windows è in continua crescita.
I PC Copilot+ offrono un'unità di elaborazione neurale (NPU) e le ultime funzionalità di intelligenza artificiale e capacità di calcolo tramite un'ampia gamma di produttori di dispositivi. Molti dei quali sono basati sul processore X di Arm,® offrendo 45 trilioni di operazioni al secondo (TOPS) con cui lavorare.
Windows Dev Kit 2023 (nome di codice "Project Ciononostante") non è più disponibile per l'acquisto di nuovi, ma rimane valida come dispositivo basato su Arm creato per supportare lo sviluppo di Windows, la ricerca di intelligenza artificiale e i test per l'integrazione dell'intelligenza artificiale in app ed esperienze.
Supporto per le app Windows esistenti su Arm
Windows on Arm esegue applicazioni Arm native, così come molte applicazioni x86 & x64 non modificate, ma per ottenere le migliori prestazioni e la migliore durata della batteria, le applicazioni dovrebbero essere costruite in modo da essere Arm-native quando possibile. Le applicazioni per Windows possono essere realizzate con molti strumenti e tecnologie diverse, tra cui applicazioni native C/C++ Win32, applicazioni classiche .NET Framework WinForms/WPF, applicazioni moderne .NET o MAUI, o anche applicazioni realizzate con Java, Python, node, ecc.
Trova gli strumenti per lo sviluppo di Arm
Microsoft offre continuamente aggiornamenti del set di strumenti di sviluppo Arm-native per compilare e convertire app destinate in modo nativo ai dispositivi windows che funzionano su dispositivi ARM, esattamente come quando la destinazione è x64. Supporto dello sviluppo di app per Arm, in Arm.
Visual Studio Code supporta in modo nativo Arm e può essere installato su dispositivi Arm. L'estensione VS Code C++ offre anche l'IntelliSense C++ e il supporto alla compilazione per lo sviluppo di applicazioni Windows che vengono eseguite in modo nativo su dispositivi Arm64.
.NET 6+ supporta già Arm, sia per l'esecuzione nativa Arm che per l'emulazione x64. Per sviluppare applicazioni .NET che funzionino in modo nativo su dispositivi Arm64, ti consigliamo di installare il nuovo Visual Studio 2022 17.4 nativo Arm e .NET 8 Arm64 SDK. Per maggiori informazioni sul supporto di .NET 8 per Arm e sui miglioramenti delle prestazioni per Arm64, consultare il blog di .NET: Miglioramenti delle prestazioni di Arm64 in .NET 8 (ottobre 2023).
.NET 6 Arm64 SDK: Per impostazione predefinita, se dotnet run un'applicazione .NET 6 con l'SDK Arm64, verrà eseguita come Arm64. Lo strumento dotnet-runtimeinfo può essere utilizzato per scoprire l'ambiente in cui è in esecuzione .NET. Per saperne di più, consulta l'annuncio del blog .NET 6 sul supporto Arm64 .
La toolchain VC++ (Arm Developer) è la toolchain GNU per le versioni arm architecture prodotte da Arm, consentendo ai partner, agli sviluppatori e alla community di usare nuove funzionalità di Arm Architecture recenti e da progetti open source GCC, Binutils, glibc, Newlib e GDB.
GitHub Actions: GitHub Actions, il motore del flusso di lavoro CI/CD di GitHub, è parte integrante dei flussi di lavoro di molti sviluppatori e viene usato per compilare, testare e distribuire app in modo continuo. GitHub Actions è ora disponibile per Windows su Arm in 2 versioni: 1. strumenti di esecuzione self-hosted che possono essere ospitati in una macchina virtuale Arm o in un dispositivo Arm e 2. Strumenti di esecuzione ospitati in GitHub (attualmente disponibili nella versione beta privata, ma la versione generale sarà presto disponibile).
Docker Desktop: i contenitori sono una destinazione di distribuzione piuttosto diffusa per molti motivi: un flusso di lavoro di sviluppo semplificato, isolamento e sicurezza, un utilizzo efficiente delle risorse, la portabilità e la riproducibilità. Docker desktop viene ora eseguito in modo nativo in Windows su Arm.
Nota
Utilizziamo il termine Arm per indicare i PC che eseguono la versione desktop di Windows su processori Arm64 (comunemente chiamati anche AArch64). Utilizziamo il termine Arm32 come abbreviazione dell'architettura Arm a 32 bit (comunemente chiamata Arm in altre documentazioni). I PC basati su Arm offrono un'ottima compatibilità con le applicazioni e ti permettono di eseguire le tue applicazioni win32 x86 non modificate. Le applicazioni Arm vengono eseguite in modo nativo senza emulazione, mentre le applicazioni x86 e x64 vengono eseguite in emulazione sui dispositivi Arm.
Arm64EC - Guida per aggiornare le app di Windows da eseguire in Arm
Arm64EC ("Emulation Compatible") ti permette di creare in modo incrementale nuove applicazioni, o di eseguire il porting di quelle esistenti, per sfruttare le prestazioni native di Arm dove possibile, utilizzando al contempo le librerie x64 esistenti & fino alla migrazione completa. Altre informazioni:
Ulteriori suggerimenti per sviluppare applicazioni Windows che funzionano su dispositivi Arm
Ti consigliamo di utilizzare MSIX per pacchettizzare la tua applicazione per la distribuzione. Per maggiori informazioni su come MSIX supporta Arm e Arm64, consulta Architetture dei pacchetti App: Arm e Arm64.
Non tutti i progetti di Visual Studio sono configurati per lanciare i progetti in locale quando si avvia il debug (F5) da un dispositivo Arm. Potrebbe essere necessario configurare Visual Studio per il debug remoto, anche se l'applicazione è in esecuzione in locale. Per maggiori informazioni, vedi debug remoto.
Per trovare e installare i pacchetti consigliati su Visual Studio, visita la pagina dei download di Visual Studio.
Per Strumenti remoti per Visual Studio 2022, scorri sotto la sezione Tutti i download ed espandi il menu a discesa Strumenti per Visual Studio 2022 . Gli strumenti remoti per Visual Studio 2022 saranno elencati lì. Assicurati di selezionare il pulsante di opzione Arm64 , quindi Download.
Per Microsoft Visual C++ Redistributable, scorri sotto la sezione All downloads ed espandi il menu a tendina Other tools and Frameworks . Microsoft Visual C++ Redistributable for Visual Studio 2022 sarà presente nell'elenco. Assicurati di selezionare il pulsante di opzione Arm64 , quindi Download.
Se utilizzi una versione precedente di Visual Studio, seleziona il link Older Downloads in fondo alla pagina per cercare i download associati alla tua versione di Visual Studio.
Quando un utente installa la tua app su un dispositivo Arm dal Microsoft Store, Windows 11 selezionerà automaticamente la versione ottimale della tua app disponibile. Se invii le versioni x86, Arm32 e Arm64 della tua applicazione al Microsoft Store, il sistema operativo installerà automaticamente la versione Arm64 della tua applicazione. Se invii solo versioni x86 e Arm32 della tua applicazione, il sistema operativo installerà la versione Arm32. Se invii solo la versione x86 della tua applicazione, il sistema operativo installerà quella versione e la eseguirà in emulazione.
Quando ti viene data la possibilità di scegliere l'architettura dell'applicazione, scegli la versione x86 a 32 bit per eseguire la versione a 32 bit dell'applicazione su un PC Windows on Arm. Se la versione x64 Win32 di un'applicazione non funziona, la maggior parte delle applicazioni ha una versione x86 disponibile.
Mentre la nostra guida a Aggiungi il supporto Arm alla tua applicazione Windows ti spiega come creare una versione ottimizzata per Arm della tua applicazione. Il servizio di consulenza App Assure Arm è disponibile per aiutarti se ti trovi in difficoltà. Questo servizio si aggiunge alla nostra promessa già esistente: le tue app funzioneranno su Windows on Arm e, in caso di problemi, Microsoft ti aiuterà a risolverli. Altre informazioni.
L'origine di questo contenuto è disponibile in GitHub, in cui è anche possibile creare ed esaminare i problemi e le richieste pull. Per ulteriori informazioni, vedere la guida per i collaboratori.
Feedback su Windows on Arm
Windows on Arm è un progetto di open source. Selezionare un collegamento per fornire feedback:
Progettare soluzioni end-to-end in Microsoft Azure per creare Funzioni di Azure, implementare e gestire app Web, sviluppare soluzioni che usano Archiviazione di Azure e altro ancora.