Études de cas
TikTok réduit la taille du code de 58% et améliore les performances de l'application pour les nouvelles fonctionnalités grâce à 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. Face au défi de maintenir la vélocité tout en gérant la dette technique, l'équipe Android de TikTok s'est tournée vers Jetpack Compose.
L'équipe souhaitait itérer plus rapidement et de manière plus qualitative sur les exigences du produit. En utilisant 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 obtenant de meilleures performances et une meilleure stabilité.
Simplifier les interfaces utilisateur complexes pour accélérer la productivité des développeurs
Les pages TikTok sont souvent plus complexes qu'il n'y paraît, car elles contiennent de nombreuses exigences conditionnelles superposées. Cette complexité entraînait souvent des hiérarchies de vues difficiles à gérer, avec une structure 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 observé 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'UI avec une logique conditionnelle est à la fois simple et peu coûteuse.
Élaborer une stratégie de migration pour aller de l'avant
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 claire et à simplifier la composition a permis à l'équipe de réduire le temps de chargement des pages jusqu'à 78% sur les pages nouvelles ou entièrement réécrites. Cette amélioration était de 20 à 30% dans les cas les plus simples, et de 70 à 80% pour les réécritures complètes et les nouvelles fonctionnalités. Ils ont également pu réduire la taille de leur code de 58%, par rapport à la même fonctionnalité intégrée à 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 leur a permis de migrer, de confirmer les avantages mesurables, puis de passer à un plus grand nombre d'écrans. Ils ont commencé par utiliser Compose pour simplifier la structure globale de la fonctionnalité de code QR et ont constaté des améliorations. L'équipe a ensuite étendu la migration aux expériences de connexion et d'inscription.
L'équipe a partagé d'autres enseignements :
Lors de la vérification des performances pendant la migration, l'équipe TikTok a constaté que l'utilisation de nombreux petits ComposeViews pour remplacer des éléments à l'intérieur d'un seul ViewHolder entraînait une surcharge de composition. Ils ont 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 à l'intérieur de ViewPager, qui comporte une logique de hauteur personnalisée et une logique conditionnelle pour masquer et afficher l'UI en fonction des tests, les performances n'ont pas été affectées. Dans ce cas, la migration du 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 de référence à 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
Les régressions de performances sont notoirement difficiles à reproduire, ce qui en fait un énorme goulot d'étranglement pour les développeurs mobiles.
Alice Yuan, Arti Arutiunov, Nikita Ogorodnikov • Temps de lecture : 4 min
-
Études de cas
FotMob a récemment enregistré sa plus forte augmentation du nombre d'utilisateurs Wear OS installés en cinq ans, soit deux à trois fois la moyenne quotidienne. Le secret ? Un flux d'installation multi-appareils simple qui aide les utilisateurs à découvrir leur application Wear OS directement depuis leur téléphone.
Garan Jenkin • Temps de lecture : 3 min
-
Études de cas
L'application de pleine conscience Gratitude encourage la cohérence grâce à des micro-journaux quotidiens, des affirmations et des tableaux de visualisation. L'application a été téléchargée plus de six millions de fois, a reçu 150 000 notes de cinq étoiles et a enregistré 100 millions d'entrées de journal.
Amrit Sanjeev, Ash Nohe • Temps de lecture : 3 min
Restez informé
Recevez chaque semaine les dernières informations sur le développement Android directement dans votre boîte de réception.