Monzo adalah bank dan aplikasi yang menawarkan layanan keuangan digital. Misi mereka adalah menghasilkan uang bagi semua orang. Sistem desain Monzo mulai menyimpang dari Desain Material sehingga mereka menginginkan cara mudah untuk menulis dan mengelola komponen kustom yang terus berkembang—jadi mereka memilih Jetpack Compose.
Apa yang mereka lakukan
Dengan Compose, komponen Desain Material disediakan sebagai lapisan di atas API fondasi yang tidak bergantung pada sistem desain. Monzo menggunakan API dasar untuk mem-build library komponennya sendiri, menggunakan komponen Material sebagai referensi. Mereka memulai dengan memigrasikan satu layar pada satu waktu, sekarang menggunakan Compose di semua layar baru. Sekarang, Compose digunakan dalam produksi, oleh semua engineer Android: “Kami tidak mengalami masalah besar, sehingga kami merasa cukup yakin untuk mulai menggunakannya untuk beberapa fitur baru tertentu, dan pada akhirnya untuk semua fitur baru.”
Hasil
Tim Monzo membuat komponen yang memungkinkan mereka membuat layar baru dengan mudah: “Komponen yang kami sediakan secara langsung membuat pembuatan layar sembari mempelajari Compose menjadi pengalaman yang jauh lebih lancar. API berbasis slot adalah pola yang fantastis yang sangat memudahkan kita untuk membuat komponen yang lebih besar dari banyak elemen penyusun kecil.“
Dengan Compose, tim Monzo dapat mem-build aplikasi berkualitas lebih tinggi, menambahkan fitur menarik yang sebelumnya tidak dapat mereka jangkau dalam sprint mereka: “Salah satu contohnya adalah animasi - animasi sangat mudah ditambahkan di Compose sehingga hanya ada sedikit alasan untuk tidak menganimasikan sesuatu seperti perubahan warna/ukuran/elevasi. Animasi 'bagus untuk dimiliki' ini sering kali terlalu sulit untuk dilakukan dengan upaya dan kompleksitas dalam sistem View.”
Kode mereka kini lebih pendek, dan lebih mudah dibaca, dipahami, dan dikelola: “Kode deklaratif jauh lebih mudah dipahami daripada kode yang memanipulasi hierarki UI yang dapat diubah. Menelusuri kode juga menjadi jauh lebih mudah saat semuanya ditulis dalam bahasa yang sama dan sering kali file yang sama, dibandingkan berpindah-pindah antara Kotlin dan XML. Jangan bahas tema dan gaya XML lagi. Tema jauh lebih mudah dipahami di Compose. Tema kita hanya terdiri dari properti yang kita tentukan, nilainya konsisten di perangkat, dan karena berada di Kotlin, sangat mudah untuk menelusuri dan mengikutinya di IDE.“
Compose memungkinkan tim Monzo menguji aplikasi mereka dengan mudah dan memastikan aplikasi mereka dapat diakses: “Compose membantu kami menulis pengujian yang lebih stabil, berjalan dengan andal, dan memberi kami banyak keyakinan bahwa aplikasi kami benar-benar berfungsi di tangan pengguna kami. Pengujian melalui sistem semantik juga memastikan bahwa layar kita setidaknya dapat diakses secara default.”
Memulai
Pelajari Compose lebih lanjut.