Le applicazioni Android sono state storicamente distribuite come pacchetti APK (Android Package). Un file APK contiene una versione compilata dell’applicazione insieme con le risorse multimediali essenziali per il funzionamento delle applicazioni.
È presente anche un elemento chiamato manifest che contiene informazioni sull’app condivise con il sistema operativo oltre a un insieme di certificati e chiavi per verificare l’identità dello sviluppatore.
A maggio 2018 Google aveva lanciato un nuovo formato per il packaging delle app Android: AAB (Android App Bundle).
I pacchetti AAB svolgono lo stesso ruolo degli APK ma con significative differenze di implementazione pensate per risolvere le carenze dello storico formato utilizzato su Android.
Durante l’evento Google I/O 2021 l’azienda di Mountain View ha annunciato che gli AAB diventeranno il formato predefinito per le app Android. Dalla fine di agosto il Play Store richiederà che le nuove pubblicazioni siano presentate in formato AAB.
Per gli utenti finali sostanzialmente non cambia nulla, almeno guardando solo “in superficie” (vedere più avanti), mentre per gli sviluppatori la storia è un po’ più complicata.
Cosa cambia con il formato Android App Bundle (AAB)
Diversamente rispetto a quanto avviene oggi con i file APK, gli App Bundle raggruppano diverse versioni di un’app in un unico pacchetto logico.
Per fare in modo che i download siano il più possibile compatti, il Play Store invierà “i byte” necessari per lo specifico dispositivo client: ad esempio un utente USA con un dispositivo Intel da 10 pollici otterrà un download diverso a un italiano con uno smartphone da 5 pollici basato su SoC ARM. I pacchetti vengono generati dinamicamente sul cloud.
Con App Bundle è possibile beneficiare anche di un caricamento più semplice dei moduli aggiuntivi e di un supporto migliorato per le applicazioni con contenuti di grandi dimensioni.
Secondo Google tutto questo si traduce tipicamente in una riduzione del 15% delle dimensioni del download rispetto alla stessa app distribuita come APK.
Dal punto di vista dell’utente finale i vantaggi saranno concreti: download più piccoli e spazio di archiviazione ridotto saranno caratteristiche molto apprezzate, in particolare da coloro che usano dispositivi di fascia bassa con connessioni Internet lente.
Gli utenti che usano vecchie versioni di Android non vedranno alcun beneficio in quanto i loro dispositivi non saranno in grado di assemblare i cosiddetti “bundle” in un’app funzionante. In questi casi verrà servito un tradizionale pacchetto APK “all-in-one“.
Google abbandonerà gradualmente il supporto per gli APK da agosto 2021: le nuove app pubblicate sul Play Store dovranno essere rilasciate come AAB.
C’è un aspetto, però, sicuramente degno di nota: poiché gli App Bundle sono basati sulla generazione dinamica in-cloud di pacchetti firmati, gli sviluppatori devono consegnare le chiavi di firma delle loro app a Google.
Il processo di firma permette ai dispositivi Android di verificare che gli aggiornamenti provengano dallo stesso editore dell’app attualmente installata. Si tratta di una parte critica dell’ecosistema che impedisce ad eventuali malintenzionati di produrre app dannose che si sostituiscono senza alcuna autorizzazione al codice autentico e legittimo.
I detrattori sottolineano che a questo punto Google assume il totale controllo sulle app Android di tutti gli sviluppatori potendo così eventualmente pubblicare e rilasciare app per conto terzi, ad esempio nuove versioni delle applicazioni realizzate da altri soggetti.
Un’agenzia governativa potrebbe convincere Google a installare una versione modificata di app di messaggistica sul dispositivo di un utente che deve essere sottoposto ad attività di sorveglianza? Teoricamente sì.
Google ha annunciato il passaggio obbligatorio agli App Bundle pochi giorni dopo che Microsoft ha presentato Windows 11 con il supporto per le applicazioni Android da Amazon App Store.
Da parte sua Huawei ha già voluto precisare che la sterzata di Google verso il formato AAB non ostacolerà la diffusione del sistema operativo HarmonyOS. Anzi, Huawei ha approvato il nuovo formato con gli App Bundle che si comportano in maniera molto simile al servizio Atomic di HarmonyOS.