Nel 2021 Google ha annunciato che il formato predefinito per sviluppare app Android sarà l’Android App Bundle (AAB), invece degli storici pacchetti APK. Se per gli utenti finali questa notizia non desta preoccupazione, né prevede grossi cambiamenti, per gli sviluppatori la vicenda si fa più complicata. Il formato di packaging App Bundle era stato lanciato da Big G nel 2018 per sopperire ad alcune carenze dei pacchetti APK, che contengono una versione compilata di un’app insieme a risorse multimediali come icone e suoni. A partire da agosto 2021 Google eliminerà gradualmente il supporto per gli APK a favore degli App Bundle. Ecco quali sono le differenze tra pacchetti APK e App Bundle per Android, e soprattutto i pro e i contro nel loro utilizzo.
La principale differenza tra APK e App Bundle risiede proprio nel contenuto del pacchetto di risorse e nel modo in cui i file vengono scaricati dal Play Store.
Quando si scarica un APK, l’app riceverà tutte le risorse, per poi selezionare e usare solo quelle che sono necessarie al funzionamento dell’applicazione su un determinato dispositivo. L’App Bundle, invece, consente di scaricare solo le risorse necessarie all’uso dell’app da parte di un utente. Questo implica che utilizzando l’App Bundle si potranno scaricare app molto più leggere e in modo più veloce dal Play Store. Inoltre, le funzionalità aggiuntive potranno essere scaricate in un secondo momento, cosa che non è invece possibile con gli APK.
In questo l’approccio dell’App Bundle è totalmente differente: gli sviluppatori raggruppano diverse risorse in uno stesso pacchetto logico, ma il Play Store invia al dispositivo che richiede l’installazione solo di quelle necessarie al funzionamento su quello specifico device. Ogni pacchetto scaricato col formato AAB sarà diverso a seconda dello smartphone o del tablet su cui viene effettuato il download, così da ottenere app dalle dimensioni più leggere e anche più veloci da scaricare. Secondo Google, con il formato AAB si riduce del 15% la dimensione della stessa app nella versione APK.
Se con l’APK il certificato dell’app è interno al file, ne caso dell’App Bundle il sistema prevede la generazione dinamica in-cloud di APK firmati.
Questo significa che uno sviluppatore che vuole inserire la propria app nel Play Store dovrà consegnare a Google le chiavi di firma dell’app. Il processo di firma è importante, perché consente ai dispositivi Android di verificare che gli aggiornamenti provengano dallo stesso sviluppatore che l’ha creata e distribuita.
Ciò comporta un maggior controllo da parte di Google per le app che si trovano nel suo Store, ma anche problemi di sicurezza: chi riuscisse a violare il Play Store potrebbe usare quelle chiavi di firma delle app per distribuirne delle versioni dannose contenenti malware e virus informatici. Inoltre, se un governo o una istituzione obbligasse Google a rilasciare un aggiornamento di una data app, questo potrebbe farlo anche contro il parere degli sviluppatori, oppure scaricare update sui dispositivi da remoto.
Il passaggio all’App Bundle potrebbe poi implicare anche la fine di Android come ecosistema aperto: gli utenti potrebbero non poter più scaricare sui propri dispositivi le app di terze parte con link diretti di APK, poiché le chiavi di firma sarebbero disponibili solo nel Play Store di Google.