SmartNews aiuta milioni di persone a scoprire il loro mondo ogni giorno condividendo notizie tempestive da una serie diversificata di fonti di notizie. L'azienda è stata fondata nel 2012 in Giappone e ora vanta oltre 50 milioni di download in tutto il mondo.
Nel giugno 2019, il team ha visto inizialmente lo sviluppo Android passare a Kotlin e ha deciso di iniziare a testare Kotlin in autonomia. L'azienda voleva sfruttare le librerie Jetpack Kotlin-first, ridurre la quantità di codice da gestire e trarre vantaggio dalla sintassi espressiva e di facile comprensione di Kotlin.
Cosa hanno fatto
Il team di SmartNews è esperto di Java, quindi è stato abbastanza facile iniziare a scrivere in Kotlin. Poiché Kotlin è interoperabile al 100% con Java, potrebbe facilmente iniziare a scrivere nuove funzionalità come Weather Radar e News From All Sides in Kotlin, lavorando nel loro codebase esistente. Ha usato le coroutine per gestire il download e la memorizzazione nella cache delle immagini all'interno della funzionalità brevettata Weather Radar. I supervisori delle Coroutine forniscono un'utile astrazione per la gestione delle attività e ciò ha aiutato gli ingegneri di SmartNews a evitare le insidie derivanti dalla gestione di thread non elaborati.
Il team ha anche eseguito il refactoring di parte del proprio codice Java ed è rimasto impressionato dalle funzionalità di sicurezza null di Kotlin. La sintassi di Kotlin per identificare la mutabilità, la nulla e l'inizializzazione ha aiutato il team a rilevare subito gli errori e a ridurre del 10%il tempo necessario per la revisione delle modifiche al codice. Utilizzando la sintassi breve ed efficiente di Kotlin, l'azienda è stata anche in grado di aumentare la leggibilità del loro codebase, il che ha reso il codice più facile da gestire man mano che l'azienda continua a crescere.
Risultati
Scrivere in Kotlin ha migliorato la produttività complessiva dall'implementazione al lancio. Il miglioramento più grande riscontrato è stato che la scrittura in Kotlin ha ridotto del 20%le righe di codice convertite. Circa la metà dell'app SmartNews è attualmente in Kotlin e il team di sviluppo prevede di scrivere tutte le nuove funzionalità in Kotlin e di eseguire il refactoring di parte del codice esistente per continuare ad aumentare la manutenibilità del codice.
Mentre il team di sviluppo implementava Kotlin e riduceva il codice boilerplate, ha notato un aumento del morale dei team. Il team era entusiasta di poter esprimere le proprie idee in modo più efficiente e di rendere il codice più leggibile in futuro. Nascondio Ohashi, Engineering Manager di SmartNews, ha notato che Kotlin ha contribuito alle sue iniziative di reclutamento dei tecnici. "Le domande più frequenti dei candidati sono "stai utilizzando Kotlin?" Sembra che ora molti ingegneri siano interessati a migrare a Kotlin e vogliono sostenerlo". Sebbene questi miglioramenti al morale dei team e all'assunzione non siano stati i motivi principali per cui il team ha adottato Kotlin, questi cambiamenti positivi aiuteranno l'azienda mentre continua a crescere in questo settore competitivo.
Inizia
Scopri di più sullo sviluppo di un'app per Android con Kotlin.