Jetpack Compose adalah toolkit modern Android untuk mem-build UI native. Compose menyederhanakan dan mempercepat pengembangan UI di Android yang menghidupkan aplikasi dengan kode yang lebih sedikit, alat yang canggih, dan API Kotlin yang intuitif. Compose membuat build UI Android menjadi lebih cepat dan lebih mudah. Saat membuat Compose, kami bekerja sama dengan berbagai partner yang merasakan langsung semua manfaat ini dan mereka menyampaikan beberapa pendapatnya kepada kami.

Lebih sedikit kode

Menulis lebih sedikit kode memengaruhi semua tahap pengembangan: sebagai penulis, Anda bisa berfokus pada masalah yang ada, dengan lebih sedikit pengujian dan debug, serta sedikit potensi adanya bug; sebagai peninjau atau pengelola, Anda memiliki lebih sedikit kode untuk dibaca, dipahami, ditinjau, dan dikelola.

Compose memungkinkan Anda melakukan lebih banyak hal dengan lebih sedikit kode, dibandingkan dengan menggunakan sistem Android View: Button, daftar, atau animasi - apa pun yang Anda perlukan untuk mem-build, kini kode yang ditulis lebih sedikit. Berikut adalah pendapat dari beberapa partner kami:

  • Untuk class Button yang sama, [kode] berukuran 10x lebih kecil.” (Twitter)
  • Ada juga pengurangan yang signifikan untuk layar apa pun yang dibuat dengan RecyclerView, tempat sebagian besar layar kami berada.” (Monzo)
  • Kami sangat senang melihat sedikitnya jumlah baris yang diperlukan untuk membuat daftar atau animasi di aplikasi. Kami menulis lebih sedikit baris kode per fitur, yang memungkinkan kami lebih berfokus pada memberikan nilai kepada pelanggan.” (Cuvva)

Kode yang Anda tulis hanya ditulis di Kotlin, bukan dibagi antara Kotlin dan XML: “Menelusuri kode menjadi lebih mudah saat semuanya ditulis dalam bahasa yang sama dan sering kali file yang sama, dibandingkan berpindah-pindah antara Kotlin dan XML” (Monzo)

Kode yang ditulis dengan Compose sederhana dan mudah mengelola apa pun yang sedang Anda buat. “Sistem tata letak Compose secara konseptual lebih sederhana, sehingga lebih mudah untuk dipertimbangkan. Membaca kode untuk komponen yang rumit juga lebih mudah.” (Square)

Intuitif

Compose menggunakan API deklaratif, yang berarti Anda hanya perlu menjelaskan fungsi UI Anda dan Compose akan menangani sisanya. API-nya intuitif serta mudah ditemukan dan digunakan: “Lapisan tema kami jadi jauh lebih intuitif dan mudah dibaca. Dulu, kami harus menggunakan beberapa file XML untuk menetapkan tugas dan definisi atribut melalui sejumlah overlay tema berlapis. Sekarang, itu semua dapat kami selesaikan dengan satu file Kotlin saja.” (Twitter)

Dengan Compose, Anda mem-build komponen kecil stateless yang tidak terikat pada aktivitas atau fragmen tertentu. Hal tersebut membuatnya mudah digunakan kembali dan diuji: “Kami menetapkan tujuan bagi diri kami sendiri untuk memberikan serangkaian komponen UI baru yang stateless, mudah digunakan dan dipertahankan, serta intuitif untuk diimplementasikan/diperluas/disesuaikan. Compose benar-benar memberikan jawaban yang solid untuk kami dalam hal ini.” (Twitter)

Di Compose, status bersifat eksplisit dan diteruskan ke fungsi composable. Dengan begitu, ada satu sumber tepercaya untuk status, yang membuatnya terenkapsulasi dan terpisah. Kemudian, seiring perubahan status aplikasi Anda, UI aplikasi Anda akan otomatis terupdate. “Proses pengambilan keputusan jadi sangat mudah dan komponennya pun dapat dipahami dan dikontrol dengan mudah.” (Cuvva)

Mempercepat pengembangan

Compose kompatibel dengan semua kode yang ada: Anda dapat memanggil kode Compose dari Views dan Views dari Compose. Library yang paling umum seperti Navigation, ViewModel, dan coroutine Kotlin berfungsi dengan Compose, sehingga Anda dapat mulai mengadopsi kapan dan di mana pun Anda inginkan. “Interoperabilitas adalah tempat kami mulai mengintegrasikan Compose, dan yang kami lihat adalah 'langsung berfungsi'. Kami merasa tidak perlu memikirkan hal-hal seperti mode terang dan gelap, dan seluruh pengalamannya sangat lancar.” (Cuvva)

Dengan menggunakan dukungan penuh Android Studio, dengan fitur seperti pratinjau langsung, Anda dapat melakukan iterasi dan mengirim kode lebih cepat: “Pratinjau di Android Studio telah menghemat banyak waktu. Dapat mem-build beberapa pratinjau juga menghemat waktu kami. Sering kali, kami perlu memeriksa komponen UI di berbagai status atau berbagai setelan -- seperti status error, atau dengan ukuran font yang berbeda, dsb. Dengan kemampuan untuk membuat beberapa pratinjau, kami dengan mudah dapat memeriksanya.” (Square)

Canggih

Compose memungkinkan Anda membuat aplikasi yang menarik dengan akses langsung ke API platform Android dan dukungan bawaan untuk Desain Material, Tema gelap, animasi, dan lainnya: “Compose juga telah menyelesaikan lebih dari UI deklaratif -- API aksesibilitas, tata letak, semua jenis pekerjaan telah ditingkatkan. Ada langkah yang lebih sedikit antara hal yang ingin Anda buat dan membuatnya langsung” (Square).

Dengan Compose, membuat aplikasi seolah bergerak dan hidup lewat animasi menjadi cepat dan mudah diterapkan: “animasi sangat mudah untuk ditambahkan di Compose sehingga hampir tidak ada alasan untuk tidak menganimasikan hal-hal seperti perubahan warna/ukuran/elevasi” (Monzo), “Anda dapat membuat animasi tanpa memerlukan fitur khusus -- ini sama dengan menampilkan layar statis” (Square).

Baik Anda mem-build dengan Desain Material maupun sistem desain Anda sendiri, Compose memberi Anda fleksibilitas untuk mengimplementasikan desain yang Anda inginkan: “Dengan Desain Material yang terpisah dari dasarnya sangat berguna bagi kami karena kami mem-build desain kami sendiri yang biasanya memerlukan persyaratan desain yang berbeda dari Material.” (Square)

Lihat studi kasus mendalam untuk mempelajari lebih lanjut cara Twitter, Square, Monzo, dan Cuvva menggunakan Compose.