Lorsque vous téléchargez et installez une application Android, vous utilisez un fichier de type APK (pour Android PacKage), c’est-à-dire un paquet qui contient tout le code compilé et les diverses ressources nécessaires à l’exécution.
La taille des applications : le crédo de Google
Au fil des années, Google n’a cessé de marteler aux développeurs que la taille des applications est à surveiller, notamment dans les pays émergents où les forfaits data sont minces et les vitesses bien éloignées de la 4G à laquelle nous nous sommes habitués. Par ailleurs, la taille d’une application ne se limite pas à son téléchargement, il faut ensuite la stocker sur le terminal.
Pour cela, Google incite les développeurs à réduire autant que possible la taille des APK en les découpant en plusieurs versions (ex : une version pour les processeurs ARM, une autre pour ceux sur Intel…), mais aussi en éliminant le code et les ressources inutiles.
Le Google Play a, en parallèle, son propre algorithme qui réduit au maximum la taille du fichier à transférer et utilise des téléchargements dits différentiels. Ainsi si vous possédez la version 1.0, vous ne téléchargerez que les différences avec la 1.1.
Vous pouvez également opter pour les Instant Apps qui permettent d’utiliser une partie d’une application, sans pour autant qu’elle ne soit installée.
Qu’est-ce que l’Android App Bundle ?
À l’occasion de la Google I/O, le père d’Android a annoncé un nouveau format nommé Android App Bundle. Il ne s’agit à aucun moment d’un nouveau fichier venant remplacer les APK, mais plutôt d’une autre manière d’envoyer les données de son application au Google Play.
Concrètement les développeurs vont désormais envoyer par l’intermédiaire des Android App Bundle le code source et les ressources uniquement. La génération, ainsi que la signature de l’APK seront assurées par le Google Play.
Une fois ces données en main, le Google Play va appliquer ce qu’il appelle la dynamic delivery. Les développeurs n’auront plus à découper l’application en plusieurs versions (type de processeur, densité d’écran et langue), puisque le Google Play s’en chargera automatiquement. Une charge en moins pour les développeurs, mais qui sera toutefois limitée à cette boutique d’applications (dans un premier temps tout au moins).
Les développeurs vont également pouvoir opter pour un découpage de leur application en modules. L’idée est de pouvoir dynamiquement permettre à un utilisateur de télécharger à la demande une fonctionnalité de l’application. Au revoir les applications énormes auxquelles l’utilisateur n’a qu’en partie accès.
Comment cela va-t-il fonctionner ?
Sur votre téléphone, vous allez désormais télécharger non pas une mais plusieurs APK (sur les versions supérieures ou égales à Android Lollipop) :
- L’APK de base qui contient tout ce dont votre application à besoin pour fonctionner
- L’APK de configuration : les éléments spécifiques à votre terminal
- Et éventuellement différentes APK pour les fonctionnalités dynamiques
Si toutefois votre terminal ne possède toujours pas Android 5.0, rien ne change, puisqu’un seul fichier sera reçu par l’utilisateur.
Ce changement est donc une bonne nouvelle pour votre forfait mobile et dans une moindre mesure pour le stockage occupé par les applications sur votre téléphone.
Pour aller plus loin
Pourquoi les applications Android sont-elles plus légères que sur iOS ?
Envie de retrouver les meilleurs articles de Frandroid sur Google News ? Vous pouvez suivre Frandroid sur Google News en un clic.
[…] 2018 déjà, Google créait l’App Bundle, un système permettant de créer différents paquets dans une même application du Google Play […]
[…] 2018 déjà, Google créait l’App Bundle, un système permettant de créer différents paquets dans une même application du Google Play […]
Puis je pense que certains stores alternatifs essaieront de faire pareil...
[…] À lire sur FrAndroid : Comment Google veut réduire la taille des applications […]
Keskidi ?
C’est ce que j’allais dire.
Clair que le niveau technique de FrAndroid n'a rien à envier à leur niveau d'anglais... Même quand ils reprennent des articles US ils arrivent à faire des contre-sens :D
???
Après avoir un peu lu la doc Android Developper sur ce point, non, il ne s'agit pas du code source. C'est juste la dernière étape de packaging dont on parle ici. <em>The Android App Bundle is a new upload format that includes all your app’s compiled code and resources, but defers APK generation and signing to Google Play</em> En effet ça aurait été curieux que les dév acceptent ça :)
sauf que vu la taille des apps ios, le app slicing ne sert pas a grand chose...
Les binaires uniquement, pas le code source.
Non. Cela reste optionnel.
Peut-être que c'est vrai dans le cas général. Mais quand c'est Edouard qui rédige, tu peux avoir confiance. Cherche les articles d'Edouard dans les premières années du site : tu pourras constater la qualité de rédaction et la documentation de ses articles. Dommage, que des articles de cette qualité se fassent rare sur Frandroid !
Un peu comme le app slicing chez apple depuis ios 9
Ce mécanisme va t'il signer la fin des boutiques d'applications alternatives ? PS : Content du retour d'Édouard dont la qualité rédactionnelle me manque. ?
A priori, c'est juste la génération finale de l'APK qui est externalisée. L'extraction du code sur un APK n'a jamais été difficile... Par contre pour les geek, ça va devenir compliqué d'obtenir les APK signés sur des trucs comme Androidpolice si chaque appareil a le sien non ?
Envoyer les sources a Google! Ca choque personne ?
Ce contenu est bloqué car vous n'avez pas accepté les cookies et autres traceurs. Ce contenu est fourni par Disqus.
Pour pouvoir le visualiser, vous devez accepter l'usage étant opéré par Disqus avec vos données qui pourront être utilisées pour les finalités suivantes : vous permettre de visualiser et de partager des contenus avec des médias sociaux, favoriser le développement et l'amélioration des produits d'Humanoid et de ses partenaires, vous afficher des publicités personnalisées par rapport à votre profil et activité, vous définir un profil publicitaire personnalisé, mesurer la performance des publicités et du contenu de ce site et mesurer l'audience de ce site (en savoir plus)
En cliquant sur « J’accepte tout », vous consentez aux finalités susmentionnées pour l’ensemble des cookies et autres traceurs déposés par Humanoid et ses partenaires.
Vous gardez la possibilité de retirer votre consentement à tout moment. Pour plus d’informations, nous vous invitons à prendre connaissance de notre Politique cookies.
Gérer mes choix