Basée à New York, iHeartRadio propose de la musique illimitée et des milliers de stations de radio dans une seule application. L'entreprise est active dans la radiodiffusion, les médias en ligne, mobiles, numériques et sociaux, les concerts et événements en direct, la syndication, les services de recherche musicale et la représentation de médias indépendants.
Depuis son lancement en 2008, l'application a été téléchargée plus d'un milliard de fois par des auditeurs du monde entier. Toutefois, fin 2017, la base de code commençait à vieillir, et la gestion du code et l'intégration de nouvelles fonctionnalités se sont avérées difficiles.
Ce qu'ils ont fait
iHeartRadio a choisi les composants d'architecture Android pour commencer à mettre à niveau son code. La bibliothèque de persistance Room, simple et facile à implémenter, a séduit les ingénieurs pour ses capacités de gestion des requêtes asynchrones et sa compatibilité avec RxJava, qu'iHeartRadio utilise intensivement dans son code.
Ils ont également adopté des composants tenant compte des cycles de vie, qui effectuent des actions en réponse à une modification de l'état du cycle de vie d'un autre composant. Les ingénieurs iHeartRadio ont trouvé ces composants très utiles pour réduire les dépendances injectées dans les activités et les fragments. L'entreprise a également créé des prototypes à l'aide de ViewModel, qui permet aux données de survivre aux modifications de configuration, telles que les rotations d'écran.
Résultats
iHeartRadio a trouvé facile de migrer vers les composants d'architecture et d'utiliser les bibliothèques pour tester l'efficacité de l'intégration. Room et d'autres composants nécessitent très peu de code récurrent, ce qui signifie que le code de l'application est désormais beaucoup plus court. Les composants d'architecture ont également permis de réduire le nombre de fuites de mémoire. Un autre avantage est que les nouveaux développeurs qui rejoignent l'équipe peuvent rapidement se familiariser avec le projet et commencer à coder.
Dans l'ensemble, l'adoption des composants d'architecture a aidé iHeartRadio à créer une base de code plus propre et plus légère, ce qui lui permet d'éviter les erreurs. C'est une bonne nouvelle pour n'importe quelle application, en particulier pour celle qui propose un service audio numérique tout-en-un à une audience mondiale.
Premiers pas
Les composants d'architecture Android sont ouverts à tous les développeurs dans le cadre d'Android Jetpack. Premiers pas avec les composants d'architecture Android