Case Studies
TikTok riduce le dimensioni del codice del 58% e migliora le prestazioni dell'app per le nuove funzionalità con Jetpack Compose
Lettura di 2 minuti
TikTok è una piattaforma globale di video brevi nota per la sua enorme base di utenti e le sue funzionalità innovative. Il team rilascia costantemente aggiornamenti, esperimenti e nuove funzionalità per i suoi utenti. Di fronte alla sfida di mantenere la velocità gestendo al contempo il debito tecnico, il team Android di TikTok si è rivolto a Jetpack Compose.
Il team voleva consentire un'iterazione più rapida e di qualità superiore dei requisiti del prodotto. Sfruttando Compose, il team ha cercato di migliorare l'efficienza ingegneristica scrivendo meno codice e riducendo il carico cognitivo, ottenendo al contempo prestazioni e stabilità migliori.
Semplificare l'interfaccia utente complessa per accelerare la produttività degli sviluppatori
Le pagine di TikTok sono spesso più complesse di quanto sembri, in quanto contengono numerosi requisiti condizionali a più livelli. Questa complessità spesso ha portato a gerarchie di visualizzazioni difficili da gestire, strutturate in modo non ottimale e con un'eccessiva nidificazione delle visualizzazioni, che ha causato un peggioramento del rendimento a causa di un aumento del numero di passaggi di misurazione.
Compose ha offerto una soluzione diretta a questo problema strutturale.
Inoltre, la strategia di misurazione di Compose aiuta a ridurre la doppia imposizione fiscale, semplificando l'ottimizzazione del rendimento della misurazione.
Per migliorare la produttività degli sviluppatori, il team centrale del sistema di progettazione di TikTok fornisce una libreria di componenti per i team che lavorano su diverse funzionalità dell'app. Il team ha osservato che lo sviluppo in Compose è semplice: l'utilizzo di piccoli elementi componibili è molto efficace, mentre l'incorporamento di grandi blocchi dell'interfaccia utente con logica condizionale è semplice e comporta un overhead minimo.
Costruire un percorso da seguire attraverso la migrazione strategica
Adottando strategicamente Jetpack Compose, TikTok è riuscita a tenere sotto controllo il debito tecnico, continuando al contempo a concentrarsi sulla creazione di esperienze straordinarie per i suoi utenti. La capacità di Compose di gestire la logica condizionale in modo pulito e di semplificare la composizione ha consentito al team di ridurre fino al 78% il tempo di caricamento delle pagine nuove o completamente riscritte. Questo miglioramento è stato del 20-30% nei casi più piccoli e del 70-80% per le riscritture complete e le nuove funzionalità. Inoltre, è stato possibile ridurre le dimensioni del codice del 58%, rispetto alla stessa funzionalità creata in Views. Il team ha inoltre condiviso un paio di insegnamenti:
La strategia generale del team di TikTok consisteva nel migrare in modo incrementale percorsi utente specifici. In questo modo, è stato possibile eseguire la migrazione, confermare i vantaggi misurabili e poi scalare a più schermate. Il team ha iniziato a utilizzare Compose per semplificare la struttura complessiva della funzionalità del codice QR e ha notato i miglioramenti. In seguito, il team ha esteso la migrazione alle esperienze di accesso e registrazione.
Il team ha condiviso alcuni insegnamenti aggiuntivi:
Durante il controllo del rendimento durante la migrazione, il team di TikTok ha scoperto che l'utilizzo di molti piccoli ComposeView per sostituire gli elementi all'interno di un singolo ViewHolder causava un overhead di composizione. Il team ha ottenuto risultati migliori estendendo la migrazione in modo da utilizzare un singolo ComposeView per l'intero ViewHolder.
La migrazione di un frammento all'interno di ViewPager, che ha una logica di altezza personalizzata e una logica condizionale per nascondere e mostrare l'interfaccia utente in base agli esperimenti, non ha influito sul rendimento. In questo caso, la migrazione di ViewPager a Composable ha ottenuto risultati migliori rispetto alla migrazione del frammento.
Jun Shen apprezza molto il fatto che Compose "riduce la quantità di codice necessaria per lo sviluppo delle funzionalità, migliora la testabilità e accelera la consegna". Il team prevede di aumentare costantemente l'adozione di Compose, rendendolo il framework preferito a lungo termine. Jetpack Compose si è dimostrata una soluzione efficace per migliorare sia l'esperienza degli sviluppatori sia le metriche di produzione su larga scala.
Inizia a utilizzare Jetpack Compose
Scopri di più su come Jetpack Compose può aiutare il tuo team.
Continua a leggere
-
Case Studies
Le regressioni del rendimento sono notoriamente difficili da riprodurre, il che le rende un enorme collo di bottiglia per gli sviluppatori di app mobile.
Alice Yuan, Arti Arutiunov, Nikita Ogorodnikov • Lettura di 4 minuti
-
Case Studies
Di recente, FotMob ha registrato il più grande aumento in un solo giorno su Wear OS tra il suo pubblico installato in 5 anni, con un valore pari a 2-3 volte la media giornaliera. Il segreto? Un semplice flusso di installazione cross-device che aiuta gli utenti a scoprire la loro app per Wear OS direttamente dal loro smartphone.
Garan Jenkin • Lettura di 3 minuti
-
Case Studies
L'app di mindfulness Gratitude incoraggia la coerenza attraverso micro-registrazioni giornaliere, affermazioni e vision board. L'app ha oltre 6 milioni di download, 150.000 valutazioni a 5 stelle e 100 milioni di voci di diario registrate.
Amrit Sanjeev, Ash Nohe • Lettura di 3 minuti
Resta al passo con le novità
Ricevi ogni settimana nella tua casella di posta gli ultimi insight sullo sviluppo di Android