Zillow membuat kode baru yang jelas dengan Komponen Arsitektur Android

Zillow adalah marketplace real estate online terkemuka yang menyediakan listingan, data, dan kalkulator yang dibutuhkan konsumen yang ingin membeli, menyewa, atau menjual rumah. Situs ini juga menghubungkan pengguna dengan agen lokal, penyedia hipotek, dan desainer rumah.

Diluncurkan tahun 2006 dan berkantor pusat di Seattle, Zillow mengelola database yang memuat lebih dari 110 juta rumah di AS. Mereka juga mengoperasikan lebih dari dua lusin aplikasi real estate untuk perangkat seluler. Saat mulai merombak kode dalam aplikasi seluler Android-nya pada Juli 2017, Zillow ingin memudahkan pekerjaan developer mereka dengan membuat kode yang lebih mudah dibaca dan dipahami oleh anggota tim baru.

Apa yang mereka lakukan

Zillow merombak kodenya menggunakan Komponen Arsitektur Android. "Kami mempelajari berbagai jenis arsitektur," kata Aayush Raj, software engineer Zillow. "Komponen Arsitektur memiliki keunggulan tambahan yaitu mampu memahami siklus proses, sehingga kode lebih mudah dikelola."

ViewModel memungkinkan data bertahan meskipun terjadi perubahan konfigurasi (misalnya rotasi layar), sedangkan LiveData adalah class penampung data yang dapat diamati. Keduanya digunakan oleh Zillow, dan secara bersamaan, menjadi template yang efektif untuk mengimplementasikan Model-View-ViewModel (MVVM). "Solusi tersebut menjadikan kode kami lebih mudah diuji," ucap Raj. Library persistensi Room juga mempermudah pembuatan lapisan cache lokal, sehingga aplikasi tidak perlu terlalu sering mengambil data dari jaringan, yang berarti “meningkatkan performa dan pengalaman pengguna”.

Hasil

Memindahkan banyak kode untuk update data dari aktivitas ke ViewModel "sangat membantu" dalam membuat keseluruhan code base lebih mudah dibaca, tambah Raj. Mereka belum mengonversi keseluruhan aplikasi ke ViewModel, tetapi komponen yang menggunakan ViewModel belum menemukan bug terkait siklus proses. Proses komunikasi update data ke aktivitas dan fragmen juga berjalan sangat lancar.

"Developer benar-benar menjadi lebih produktif saat menggunakan Komponen Arsitektur Android," kata Sumiran Pradhan, senior software development engineer Zillow. Komponen Arsitektur memberikan panduan saat mereka memulai dari awal, dan juga berguna untuk code base yang sudah ada. "Setelah developer baru memahami logika yang ada di ViewModel, mereka akan menyukainya," tambah Pradhan.

Mulai

Komponen Arsitektur Android tersedia untuk semua developer sebagai bagian dari Android Jetpack. Mulai menggunakan Komponen Arsitektur Android.