Twitter a réduit d'un tiers la taille de son application grâce aux app bundles
Découvrez comment le format Android App Bundle a aidé Twitter à réduire la taille de son application et à simplifier son architecture.
Contexte
S'assurer que l'application reste légère et simple à installer est un aspect très important pour l'équipe Twitter, et plus particulièrement pour les utilisateurs des pays émergents où une connexion de données instable est un problème pour les applications volumineuses. "Nous voulons que tout le monde puisse utiliser Twitter n'importe où, en particulier dans les pays émergents, mais nous nous sommes rendu compte que la taille des APK est un obstacle pour de nombreuses personnes", explique César Puerta, ingénieur logiciel senior chez Twitter. "Avec le format App Bundle, nous avons trouvé une solution simple pour réduire la taille de nos APK de manière significative, sans aucun problème de notre côté."
Ce qu'ils ont fait
Avant d'adopter l'app bundle, Twitter avait divisé manuellement son application en quatre ABI, ce qui avait déjà permis de réduire considérablement sa taille. Toutefois, l'app bundle constituait une solution beaucoup plus simple et encore plus efficace. L'équipe de Twitter était donc impatiente de sauter le pas.
Twitter a d'abord pris le temps d'examiner le service Signature d'application Play, une condition requise pour l'app bundle, afin de s'assurer qu'il respectait les normes de sécurité de Twitter. "Nous avons anticipé son utilisation suffisamment à l'avance", explique César Puerta. Mais "lorsque la version finale des app bundles a été lancée, l'adoption a été relativement simple, et nous n'avons observé aucune régression au niveau du fonctionnement de l'application".
Pendant le processus de développement, Twitter a utilisé bundletool pour extraire les APK qu'il a distribués à son équipe chargée du contrôle qualité. Il a aussi rigoureusement testé les app bundles auprès d'une large audience avant de les déployer en production. Le processus a si bien fonctionné que Twitter a ensuite transféré la version dogfood de son application interne sur le Play Store pour permettre à davantage d'utilisateurs de la tester et pour détecter les problèmes plus rapidement.
Résultats
Une fois la conversion terminée, l'équipe a déployé la nouvelle version modularisée de son application pour la mettre à la disposition de ses 13,6 millions d'utilisateurs sans aucune difficulté. Étant donné que les releases de Twitter étaient déjà automatiques, le nouveau processus de release ressemblait beaucoup à ce qui se faisait avant. Il y a eu un avantage imprévu : "Traiter un seul ID de version par release au lieu de quatre (pour chaque ABI) nous a aidés à consolider nos métriques", explique César Puerta.
Plus important encore, l'équipe Twitter a observé une réduction globale de la taille de son application de 30 à 40 %, en plus de ce qu'elle avait déjà obtenu en se servant de plusieurs ABI. Pour parvenir à ce résultat, elle a eu notamment recours à un module de fonctionnalité pour distribuer une bibliothèque native volumineuse (3 Mo par ABI) qui n'était nécessaire qu'à un petit nombre d'appareils.
Twitter prévoit ensuite de migrer Periscope, son application de partage de vidéos en direct, vers l'app bundle. Son équipe travaille également à modulariser toute l'application Twitter. "Lorsque nous serons passés à des modules de fonctionnalité entièrement isolés, nous envisagerons sans doute de nous tourner vers la distribution dynamique pour un certain nombre de fonctionnalités", déclare César Puerta, tout en précisant que cette transition ne se fera probablement pas avant 6 à 12 mois. Il espère également que la modularisation permettra à ses développeurs de réutiliser des modules à la fois pour Twitter et Periscope. Ainsi, ils pourront gagner beaucoup de temps et éviter des duplications inutiles.
Premiers pas
Tous les développeurs d'applications et de jeux peuvent utiliser le format Android App Bundle. Lancez-vous dès maintenant !