Si fa un gran parlare di emulatori e virtualizzazione quando si parla del caricamento e dell’esecuzione di app Android in Windows.
Il rilascio di Windows Subsystem for Android (WSA) per Windows 11 ha provocato una serie infinita di commenti: alcuni fanno riferimento all’imminente “fine degli emulatori”, altri sostengono che prodotti come Bluestacks al momento non hanno rivali.
Come stanno davvero le cose? E come orientarsi tra tanti termini spesso utilizzati in modo molto approssimativo?
BlueStacks è una soluzione per la virtualizzazione delle app Android in Windows, non un emulatore
Iniziamo col dire che il produttore di Bluestacks abbia spesso usato il termine emulatore per riferirsi alla sua piattaforma che permette di eseguire app Android in Windows, Bluestacks non è un emulatore.
Un emulatore è un componente software che si interpone tra sistema ospitante, ad esempio un PC sul quale è installato Windows, Linux o macOS, e il sistema ospitato ricostruendo l’ambiente necessario per il corretto funzionamento di quest’ultimo.
L’emulazione è di solito poco prestazionale perché necessita della traduzione delle istruzioni dal formato del sistema ospite a quello del sistema ospitante.
La virtualizzazione nativa isola il sistema ospite dall’hardware fisico della macchina ma tramite un componente software detto hypervisor permette di sfruttarne al massimo le prestazioni. Attraverso le estensioni per la virtualizzazione attivate a livello di BIOS UEFI, il sistema ospite può dialogare efficacemente con l’hardware attraverso l’hypervisor e assicurare performance di primo livello.
La conferma che BlueStacks è una soluzione per la virtualizzazione delle app Android in Windows si ha visitando la pagina che mostra come abilitare le estensioni per la virtualizzazione con varie schede madri per PC.
BlueStacks, inoltre, non utilizza una soluzione per la virtualizzazione proprietaria ma – a seconda della versione scaricata dall’utente – si appoggia a Virtualbox o Microsoft Hyper-V.
Nella sottocartella Engine
di %programdata%\BlueStacks
oppure di %programdata%\BlueStacks_nxt
, si troveranno infatti le immagini in formato VDI o VHD rispettivamente per Virtualbox e Hyper-V.
Prendendo in considerazione l’ultima versione di BlueStacks scaricabile dal sito ufficiale si troveranno sia le versioni basate su Virtualbox che quelle su Hyper-V, ove esplicitamente indicato.
In un altro articolo abbiamo visto come velocizzare BlueStacks in Windows.
Windows Subsystem for Android è basata su Microsoft Hyper-V
A suo tempo Microsoft ha introdotto la possibilità di installare ed eseguire vere e proprie distribuzioni Linux in Windows 10 usando un componente software che si chiama Windows Subsystem for Linux (WSL) ovvero Sottosistema Windows per Linux.
Inizialmente era soltanto un layer di compatibilità poi è diventato (WSL2) una piattaforma per la virtualizzazione nativa di Linux tanto che, grazie all’hypervisor di Hyper-V, i sistemi operativi e le applicazioni del pinguino funzionano senza limitazioni esattamente come se fossero installati su una macchina fisica.
Android non è un sistema Unix-like perché quasi la totalità dei componenti GNU/Linux sono sostituiti da software sviluppati in Java. Anche il sistema operativo di Google, tuttavia, utilizza il kernel Linux che ne costituisce il pilastro fondamentale per il suo funzionamento.
Cos’ha fatto Microsoft? Partendo dall’ottimo lavoro svolto con WSL2, i tecnici dell’azienda di Redmond hanno costruito sopra al Sottosistema Windows per Linux un framework chiamato Windows Subsystem for Android (WSA) rendendolo al momento disponibile solo per gli utenti di Windows 11.
Basandosi sulle stesse fondamenta di WSL2, quindi sulla virtualizzazione nativa di Hyper-V, le app Android caricate ed eseguite in Windows 11 con WSA possono utilizzare pienamente le risorse hardware e massimizzare le prestazioni ottenibili.
Differenze tra Bluestacks e Windows Subsystem for Android
Inutile consumarsi i polpastrelli per fare benchmark tra soluzioni come Bluestacks e Windows Subsystem for Android. Se si scarica e si installa la versione Hyper-V di Bluestacks essa utilizzerà la soluzione per la virtualizzazione nativa di Microsoft esattamente come fa WSA.
La piattaforma Hyper-V è peraltro disponibile anche nelle edizioni Home di Windows 10 e Windows 11: per installarla basta premere Windows+R
, digitare optionalfeatures
quindi abilitare le caselle seguenti:
– Piattaforma macchina virtuale
– Piattaforma Windows Hyper-V
– Sottosistema Windows per Linux
L’ultima non serve a BlueStacks ma permette di installare sul sistema Windows 10 o Windows 11 anche WSL2.
Installando Windows Subsystem for Android in Windows 11 anch’esso poggerà il suo funzionamento su Hyper-V.
Sebbene Microsoft tolleri il sideloading delle app Android ovvero la loro installazione manuale in Windows 11 a partire da pacchetti APK e App Bundle, la “via ufficiale” per caricare ed eseguire app Android in Windows consiste nell’utilizzo dell’Amazon App Store.
Sebbene non sia al momento previsto alcun accordo con Google (ed è difficile che ciò avvenga anche perché Microsoft tenderà a rivaleggiare sempre più con i Chromebook), Windows Subsystem for Android può eseguire il Play Store e permettere l’installazione diretta delle app. Per raggiungere l’obiettivo basta un po’ di pazienza ma il risultato è assicurato.
Sia WSA che BlueStacks aggiungono riferimenti alle app Android nel menu Start di Windows. Mentre nel caso di BlueStacks, però, tutte le applicazioni Android vengono eseguite all’interno della medesima finestra, WSA gestisce ciascuna app Android in una sua finestra Windows separata da tutte le altre.
Nell’immagine a sinistra si può notare l’app Google Traduttore in esecuzione nella sua finestra dedicata in Windows 11, a destra invece la stessa app aperta nella finestra di BlueStacks.
In BlueStacks il Play Store è invece immediatamente disponibile: basta cliccare sulla sua icona ed effettuare il login con un account utente Google per iniziare a cercare e installare app.
Nel caso di BlueStacks i collegamenti alle app Android che si trovano sul desktop di Windows hanno una struttura simile (versione di BlueStacks basata su Hyper-V):
Nel caso di WSA, invece, i collegamenti alle app Android aggiunti nel menu Start di Windows 11 si presentano così:
Cliccando sull’icona delle impostazioni di BlueStacks (ingranaggio) quindi su Preferenze e infine disattivando l’opzione Crea collegamenti sul desktop per le app dopo l’installazione si evita che vengano creati automaticamente dei collegamenti per l’avvio delle varie app sul desktop di Windows.
L’esperienza con BlueStacks è assimilabile alla virtualizzazione in Windows di un intero dispositivo Android (ci sono ad esempio i pulsanti Home, Back, quello per l’accesso alle app aperte) mentre WSA virtualizza singole app Android.
Un aspetto particolarmente interessante di BlueStacks è il supporto per più istanze di Android: digitando BlueStacks Multi-Instance Manager nella casella di ricerca di Windows si possono gestire uno o più dispositivi Android virtuali con la possibilità di utilizzare più installazioni una a fianco all’altra.
Utilizzando la procedura che permette di eseguire il Play Store con WSA ci si troverà di fatto dinanzi a un dispositivo virtualizzato basato su Android 11 (2020) mentre nel caso di BlueStacks l’ultima versione stabile è ancora basata su Android 7.1.1 Nougat (2016) mentre la piattaforma costruita su Android 9 Pie (2018) è in versione beta.
Infine va detto che mentre WSA è disponibile solo in Windows 11, BlueStacks è compatibile con Windows 11, Windows 10, Windows 8.1, Windows 7 oltre che con macOS.
In conclusione, mentre WSA ha ampie potenzialità in ottica futura, BlueStacks è un prodotto che è sul mercato da molto più tempo (agosto 2009) e può offrire affidabilità, compatibilità e un ampio set di funzionalità integrate. BlueStacks resta il punto di riferimento per gli appassionati di gaming mentre WSA è una soluzione progettata per gli utenti avanzati e i programmatori che possono integrarla con i principali strumenti di sviluppo.