Monzo mem-build aplikasi yang lebih andal dan berkualitas lebih tinggi dengan Compose

Monzo adalah bank dan aplikasi yang menawarkan layanan keuangan digital. Misi mereka adalah membuat uang bekerja untuk semua orang. Sistem desain Monzo mulai menyimpang dari Desain Material sehingga mereka menginginkan cara mudah untuk menulis dan memelihara 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 dasar yang agnostik terhadap sistem desain. Monzo menggunakan API dasar untuk membangun library komponennya sendiri, dengan menggunakan komponen Material sebagai referensi. Mereka memulai dengan memigrasikan satu layar dalam satu waktu, dan kini 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 akhirnya untuk semua fitur baru.”

Hasil

Tim Monzo membuat komponen yang memungkinkan mereka membangun layar baru dengan mudah: “Komponen yang kami sediakan langsung membuat pembuatan layar saat mempelajari Compose menjadi pengalaman yang jauh lebih lancar. API berbasis slot adalah pola yang luar biasa yang mempermudah kita membangun komponen yang lebih besar dari banyak elemen dasar kecil.“

Dengan Compose, tim Monzo dapat membuat aplikasi berkualitas lebih tinggi, dengan menambahkan fitur menarik yang sebelumnya tidak dapat mereka lakukan dalam sprint: “Salah satu contohnya adalah animasi - animasi sangat mudah ditambahkan di Compose sehingga hampir tidak ada alasan untuk tidak menganimasikan hal-hal seperti perubahan warna/ukuran/ketinggian. Animasi 'lebih baik ada' ini sering kali terlalu sulit untuk diwujudkan dan tidak sebanding dengan upaya dan kompleksitas dalam sistem View.”

Kodenya kini lebih pendek, dan lebih mudah dibaca, dipahami, serta dikelola: “Kode deklaratif jauh lebih mudah dipahami daripada kode yang memanipulasi hierarki UI yang dapat berubah. Menelusuri kode juga menjadi lebih mudah saat semuanya ditulis dalam bahasa yang sama dan sering kali file yang sama, dibandingkan berpindah-pindah antara Kotlin dan XML. Jangan sampai saya mulai membahas tema dan gaya XML. Tema jauh lebih mudah dipahami di Compose. Tema kita hanya terdiri dari properti yang kita tentukan, nilainya konsisten di seluruh perangkat, dan karena ada di Kotlin, tema ini sangat mudah dicari dan diikuti di IDE.“

Compose memungkinkan tim Monzo menguji aplikasi mereka dengan mudah dan memastikan aplikasi mereka dapat diakses: “Compose telah membantu kami menulis pengujian yang tidak terlalu rentan, berjalan dengan andal, dan memberi kami keyakinan yang besar 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.