iHeartRadio, con sede a New York, offre musica illimitata e migliaia di stazioni radio, il tutto in un'unica app. Le operazioni dell'azienda includono trasmissioni radio, online, mobile, digitali e social media, concerti ed eventi dal vivo, syndication, servizi di ricerca musicale e rappresentanza mediatica indipendente.
Da quando è stata lanciata nel 2008, gli utenti di tutto il mondo hanno scaricato l'app più di un miliardo di volte. Tuttavia, alla fine del 2017, il codebase era invecchiato e la gestione del codice e l'integrazione di nuove funzionalità si sono rivelate difficili.
Cosa hanno fatto
iHeartRadio ha scelto i componenti dell'architettura Android quando ha iniziato l'upgrade del codice. La libreria di persistenza Room semplice e intuitiva era interessante per i loro ingegneri per le sue capacità di gestione di query asincrone e per il supporto per RxJava, che iHeartRadio utilizza ampiamente nel suo codice.
Inoltre, ha adottato componenti sensibili al ciclo di vita, che eseguono azioni in risposta a un cambiamento nello stato del ciclo di vita di un altro componente. Gli ingegneri di iHeartRadio hanno trovato questi componenti molto utili per ridurre le dipendenze inserite in attività e frammenti. Inoltre, l'azienda ha creato prototipi utilizzando ViewModel, che consente ai dati di sopravvivere alle modifiche alla configurazione, come le rotazioni dello schermo.
Risultati
iHeartRadio ha trovato facile eseguire la migrazione ai componenti dell'architettura e utilizzare le librerie per testare il funzionamento dell'integrazione. Room e altri componenti richiedono l'utilizzo di un codice boilerplate molto ridotto, il che significa che il codice dell'app è ora notevolmente più breve. Anche i componenti dell'architettura hanno causato meno perdite di memoria. Un ulteriore vantaggio era che i nuovi sviluppatori che si univano al team potevano iniziare rapidamente e iniziare a programmare.
Nel complesso, l'adozione dei componenti per l'architettura ha aiutato iHeartRadio a creare una base di codice più pulita e snella che aiuta a prevenire gli errori. Questa è una buona notizia per qualsiasi app, soprattutto per le app che offrono audio digitale all-in-one a un pubblico globale.
Inizia
I componenti dell'architettura Android sono aperti a tutti gli sviluppatori nell'ambito di Android Jetpack. Inizia a usare i componenti dell'architettura Android.