L'application BeautyPlus améliore la lisibilité de 15 % grâce aux composants d'architecture Android

Lancée en 2013, BeautyPlus est l'une des applications de retouche photo les plus populaires au monde. Elle est utilisée par des maquilleurs, des photographes et des utilisateurs de smartphones ordinaires. Environ 50 millions de personnes utilisent l'application chaque mois pour retoucher leurs selfies, photos et vidéos, et y ajouter des filtres. Développée par Xiamen Meitu Technology Co., en Chine, Ltd., l'application (particulièrement populaire auprès des amateurs de selfies) est utilisée pour tout, de la correction du teint et de l'éclaircissement du sourire à l'amincissement des traits et à l'effacement des imperfections, le tout en quelques clics et glissements.

Étant donné que l'entreprise met fréquemment à jour l'application, elle a besoin d'un grand nombre de développeurs. Toutefois, au fil du temps, l'architecture sous-jacente a manqué d'uniformité et de clarté. L'équipe, qui évolue rapidement, avait besoin d'un moyen de tenir ses développeurs collaborateurs informés, tout en simplifiant la gestion du cycle de vie et en résolvant les problèmes liés à l'actualisation de l'UI asynchrone.

Figure 1 : Exemple de session de retouche photo dans BeautyPlus

Ce qu'ils ont fait

Les composants d'architecture Android ont fourni aux développeurs les outils dont ils avaient besoin pour rendre le code de l'application concis, stable et plus facile à lire pour les nouveaux ingénieurs lors de leur intégration.

Parmi les composants que les développeurs BeautyPlus ont commencé à utiliser, on trouve ViewModel, qui facilite le traitement logique avec les mises à jour d'activité et de fragment. ViewModel est conçu pour stocker et gérer les données liées à l'UI en tenant compte du cycle de vie et en respectant celui des autres composants de l'application.

Ils ont également utilisé le composant LiveData, une classe de conteneur de données observable et sensible au cycle de vie, pour s'assurer que l'UI correspond à l'état des données. L'équipe a trouvé ces composants d'architecture Android faciles à utiliser et n'a rencontré aucun problème. Les avantages ont été rapidement visibles.

Résultats

Grâce aux composants d'architecture Android, l'application BeautyPlus a immédiatement bénéficié d'un code 5 % plus léger et 15 % plus lisible. L'architecture était également plus unifiée, ce qui permettait aux développeurs de gagner du temps et de l'énergie, et aux nouveaux développeurs de se familiariser rapidement avec le système. De plus, il y avait moins de fuites de mémoire, l'actualisation des données était plus facile et les développeurs n'avaient plus à se soucier de la mise à jour de l'UI asynchrone.

"Lorsque nous avons utilisé ViewModel et LiveData pour BeautyPlus, le code est devenu plus concis et lisible, et son architecture a été unifiée", explique Zheng Songyin, responsable du développement. "Le cycle de vie de l'application a été géré de manière sécurisée et la stabilité s'est également améliorée."

Premiers pas

Les composants d'architecture Android sont ouverts à tous les développeurs. Premiers pas avec les composants d'architecture Android