SmartNews mengurangi baris kode sebesar 20% dan meningkatkan semangat tim dengan Kotlin

SmartNews membantu jutaan orang menemukan dunianya setiap hari dengan berbagi berita secara aktual dari beragam sumber berita. Perusahaan ini didirikan tahun 2012 di Jepang, dan kini aplikasinya telah didownload lebih dari 50 juta kali di seluruh dunia.

Pada Juni 2019, tim melihat pengembangan Android yang mulai beralih untuk mengutamakan Kotlin dan memutuskan untuk mulai menguji Kotlin. Mereka ingin memanfaatkan library Jetpack yang mengutamakan Kotlin, mengurangi jumlah kode yang harus dikelola, serta memanfaatkan sintaksis yang ekspresif dan mudah dipahami dari Kotlin.

Yang mereka lakukan

Tim di SmartNews sangat ahli dalam Java, sehingga cukup mudah untuk mulai menulis di Kotlin. Karena Kotlin 100% dapat dioperasikan dengan Java, mereka dapat dengan mudah mulai menulis fitur baru seperti Weather Radar dan News From All Sides di Kotlin, saat mengerjakan codebase yang sudah ada. Mereka menggunakan coroutine untuk mengelola download dan cache gambar dalam fitur Weather Radar yang dipatenkan. Dispatcher coroutine memberikan abstraksi yang berguna untuk mengelola tugas, dan hal ini membantu engineer SmartNews menghindari kesulitan yang muncul saat mengelola thread mentah.

Tim juga melakukan pemfaktoran ulang terhadap beberapa kode Java, dan mereka terkesan dengan fitur keamanan null Kotlin. Sintaksis Kotlin untuk mengidentifikasi mutability, nullability, dan inisialisasi membantu tim menemukan error lebih dini, dan mengurangi jumlah waktu untuk meninjau perubahan kode sebesar 10%. Dengan menggunakan sintaksis Kotlin yang ringkas dan efisien, mereka juga dapat meningkatkan keterbacaan codebase, yang membuat kode lebih mudah dikelola seiring perkembangan perusahaan.

Hasil

Menulis di Kotlin telah meningkatkan produktivitas mereka secara keseluruhan mulai dari implementasi hingga peluncuran. Peningkatan terbesar yang mereka alami adalah penulisan di Kotlin mengurangi baris kode yang dikonversi hingga sebesar 20%. Sekitar setengah dari aplikasi SmartNews saat ini ditulis di Kotlin, dan tim pengembangan berencana menulis semua fitur baru di Kotlin serta memfaktorkan ulang beberapa kode yang sudah ada agar dapat terus meningkatkan kemudahan pemeliharaan kode.

Ketika tim pengembangan mengimplementasikan Kotlin dan mengurangi kode boilerplate, mereka melihat peningkatan dalam semangat tim. Tim bersemangat karena dapat mengekspresikan ide mereka dengan cara yang lebih efisien, dan membuat kode mereka lebih mudah dibaca di masa mendatang. Hideo Ohashi, Engineering Manager untuk SmartNews menyadari bahwa Kotlin telah membantu upaya perekrutan engineer. “Pertanyaan yang paling sering dari kandidat adalah 'Apakah Anda menggunakan Kotlin? Seberapa sering Anda menggunakannya?' Sepertinya saat ini ada banyak engineer yang tertarik untuk bermigrasi ke Kotlin dan ingin mendukungnya.” Meskipun peningkatan dalam semangat tim dan perekrutan ini bukanlah alasan utama tim menggunakan Kotlin, perubahan positif tersebut akan membantu perusahaan untuk terus berkembang dalam industri yang kompetitif ini.

Mulai

Pelajari lebih lanjut cara mengembangkan aplikasi Android dengan Kotlin.