Études de cas
TikTok réduit la taille de son code de 58% et améliore les performances de l'application pour les nouvelles fonctionnalités avec Jetpack Compose
Temps de lecture : 2 min
TikTok est une plate-forme mondiale de vidéos courtes, connue pour son énorme base d'utilisateurs et ses fonctionnalités innovantes. L'équipe publie constamment des mises à jour, des tests et de nouvelles fonctionnalités pour ses utilisateurs. Confrontée au défi de maintenir sa vitesse tout en gérant sa dette technique, l'équipe Android de TikTok s'est tournée vers Jetpack Compose.
L'équipe souhaitait permettre une itération plus rapide et de meilleure qualité des exigences produit. En tirant parti de Compose, l'équipe a cherché à améliorer l'efficacité de l'ingénierie en écrivant moins de code et en réduisant la charge cognitive, tout en améliorant les performances et la stabilité.
Rationaliser l'interface utilisateur complexe pour accélérer la productivité des développeurs
Les pages TikTok sont souvent plus complexes qu'elles n'y paraissent, car elles contiennent de nombreuses exigences conditionnelles superposées. Cette complexité entraînait souvent des hiérarchies de vues difficiles à maintenir, structurées de manière sous-optimale et une imbrication excessive des vues, ce qui dégradait les performances en raison d'un nombre accru de passes de mesure.
Compose a sans frais une solution directe à ce problème structurel.
De plus, la stratégie de mesure de Compose permet de réduire la double imposition, ce qui facilite l'optimisation des performances de mesure.
Pour améliorer la productivité des développeurs, l'équipe centrale du système de conception de TikTok fournit une bibliothèque de composants aux équipes travaillant sur différentes fonctionnalités de l'application. L'équipe a constaté que le développement dans Compose est simple. L'utilisation de petits composables est très efficace, tandis que l'intégration de grands blocs d'interface utilisateur avec une logique conditionnelle est simple et ne nécessite que peu de ressources.
Préparer l'avenir grâce à une migration stratégique
En adoptant stratégiquement Jetpack Compose, TikTok a pu maîtriser sa dette technique tout en continuant à se concentrer sur la création d'expériences de qualité pour ses utilisateurs. La capacité de Compose à gérer la logique conditionnelle de manière propre et à rationaliser la composition a permis à l'équipe de réduire jusqu'à 78% le temps de chargement des pages nouvelles ou entièrement réécrites. Cette amélioration était de 20 à 30% dans les cas plus petits, et de 70 à 80% pour les réécritures complètes et les nouvelles fonctionnalités. L'équipe a également pu réduire la taille de son code de 58%, par rapport à la même fonctionnalité créée dans Views. L'équipe a également partagé quelques enseignements :
La stratégie globale de l'équipe TikTok consistait à migrer progressivement des parcours utilisateur spécifiques. Cela lui a donné l'occasion de migrer, de confirmer les avantages mesurables, puis de passer à davantage d'écrans. L'équipe a commencé par utiliser Compose pour simplifier la structure globale de la fonctionnalité de code QR et a constaté les améliorations. Elle a ensuite étendu la migration aux expériences de connexion et d'inscription.
L'équipe a partagé quelques enseignements supplémentaires :
Lors de la vérification des performances pendant la migration, l'équipe TikTok a constaté que l'utilisation de nombreuses petites ComposeViews pour remplacer des éléments dans un seul ViewHolder entraînait une surcharge de composition. Elle a obtenu de meilleurs résultats en étendant la migration pour utiliser une seule ComposeView pour l'ensemble du ViewHolder.
Lors de la migration d'un fragment dans ViewPager, qui comporte une logique de hauteur personnalisée et une logique conditionnelle pour masquer et afficher l'interface utilisateur en fonction des tests, les performances n'ont pas été affectées. Dans ce cas, la migration de ViewPager vers Composable a été plus performante que la migration du fragment.
Jun Shen apprécie particulièrement le fait que Compose "réduise la quantité de code requise pour le développement de fonctionnalités, améliore la testabilité et accélère la livraison". L'équipe prévoit d'augmenter progressivement l'adoption de Compose, pour en faire son framework préféré à long terme. Jetpack Compose s'est avéré être une solution puissante pour améliorer à la fois l'expérience des développeurs et les métriques de production à grande échelle.
Premiers pas avec Jetpack Compose
Découvrez comment Jetpack Compose peut aider votre équipe.
Lire la suite
-
Études de cas
Karrot est une application de marketplace peer-to-peer hyperlocale et communautaire qui permet aux utilisateurs d'acheter, de vendre et d'échanger des articles avec d'autres utilisateurs validés. Depuis son lancement en Corée du Sud en 2015, la plate-forme s'est étendue aux marchés mondiaux et compte plus de 43 millions d'utilisateurs inscrits.
Thomas Ezan, Tracy Agyemang • Temps de lecture : 2 min
-
Études de cas
Monzo est une banque numérique britannique qui compte 15 millions de clients et qui ne cesse de croître. À mesure que l'application évoluait, l'équipe d'ingénieurs a identifié le temps de démarrage de l'application comme un domaine essentiel à améliorer, mais craignait que cela ne nécessite des modifications importantes de sa base de code.
Ben Weiss • Temps de lecture : 2 min
-
Études de cas
Dans le monde dynamique des réseaux sociaux, l'attention des utilisateurs est rapidement gagnée ou perdue. Les applications Meta (Facebook et Instagram) font partie des plus grandes plates-formes sociales au monde et desservent des milliards d'utilisateurs dans le monde entier.
Mayuri Khinvasara Khabya • Temps de lecture : 4 min
Restez informé
Recevez chaque semaine les dernières informations sur le développement Android directement dans votre boîte de réception.