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 menghasilkan uang untuk semua orang. Sistem desain Monzo mulai menyimpang dari Desain Material sehingga mereka menginginkan cara yang mudah untuk menulis dan mengelola komponen kustom yang terus berkembang—jadi mereka memilih Jetpack Compose.

Yang mereka lakukan

Dengan Compose, komponen Desain Material disediakan sebagai lapisan di atas API dasar agnostik sistem desain. Monzo menggunakan API dasar untuk mem-build library komponennya sendiri, dengan menggunakan komponen Material sebagai referensi. Mereka memulai dengan memigrasikan layar pada satu waktu, 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 percaya diri 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 sambil mempelajari Compose pengalaman yang jauh lebih lancar. API berbasis slot adalah pola fantastis yang sangat memudahkan kami untuk mem-build komponen yang lebih besar dari banyak elemen penyusun kecil.“

Dengan Compose, tim Monzo dapat membuat aplikasi yang berkualitas lebih tinggi, menambahkan fitur-fitur menarik yang sebelumnya tidak dapat mereka akses dalam sprint: “Salah satu contohnya adalah animasi - animasi sangat mudah ditambahkan di Compose sehingga sangat sedikit alasan untuk tidak menganimasikan hal-hal seperti perubahan warna/ukuran/elevasi. Animasi yang 'bagus untuk dimiliki' ini sering kali terlalu sulit sepadan dengan usaha dan kompleksitas dalam sistem View.”

Kodenya kini lebih pendek, dan lebih mudah dibaca, dipahami, dan dikelola: “Kode deklaratif jauh lebih mudah untuk dipertimbangkan daripada kode yang memanipulasi hierarki UI yang dapat diubah. Juga jauh lebih mudah untuk melacak melalui kode jika semuanya ditulis dalam bahasa yang sama dan sering kali file yang sama, daripada berpindah-pindah antara Kotlin dan XML. Bahkan jangan langsung memulai tema dan gaya XML! Tema jauh lebih mudah dipahami di Compose. Tema kami hanya terdiri dari properti yang kami tentukan, nilainya konsisten di seluruh perangkat, dan karena berada di Kotlin, sangat mudah untuk menelusuri dan mengikuti di IDE.“

Compose memungkinkan tim Monzo menguji aplikasi mereka dengan mudah dan memastikan aplikasi mereka dapat diakses: “Compose membantu kami menulis pengujian yang tidak terlalu rapuh, berjalan secara andal, dan memberi kami kepercayaan diri bahwa aplikasi kami benar-benar berfungsi di tangan pengguna kami. Pengujian melalui sistem semantik juga memastikan bahwa layar kami setidaknya dapat diakses secara default secara wajar.”

Mulai

Pelajari Compose lebih lanjut.