Halo teman-teman, kali ini saya akan membagikan informasi yang sebenarnya sudah lama dari awal kemunculannya, namun sampai sekarang saat artikel ini dibuat, masih berkembang dan digunakan oleh developer-developer android. Apa itu? Yak, betul, sesuai judulnya yaitu Android Jetpack.
Table of Contents
Apa itu Android Jetpack
Android Jetpack adalah sekumpulan komponen atau library yang berguna untuk mempermudah para developer android dalam membangun sebuah aplikasi android.
Dari video di atas, Android Jetpack ini ada karena untuk menjawab keluhan atau permintaan dari para developer android, salah satunya seperti susahnya Backwards Compatibility atau penulisan kode agar support di device lama.
4 Kategori Komponen
Komponen-komponen yang ada di Android Jetpack dibagi menjadi 4 kategori yaitu Architecture, UI, Behaviour, dan Foundation.
Architecture
Komponen-komponen yang ada di kategori ini mempunyai manfaat sebagai berikut:
- Aplikasi menjadi robust atau tidak mudah error ketika digunakan
- Mengurangi bug
- Mengurangi boilerplate code atau kode yang ditulis berulang-ulang
- Aplikasi menjadi lebih mudah dirawat/maintenance
Lalu apa saja komponen atau library yang termasuk dalam kategori ini? Berikut listnya:
- Lifecycles, mengelola lifecycle dari activity, fragment, atau yang lainnya
- Livedata, memberi tahu view ketika ada perubahan data
- Data Binding, menghubungkan data aplikasi dengan xml layout
- Navigation, perpindahan antar activity atau fragment
- ViewModel, menyimpan atau mengatur data yang terkait dengan UI
- Room, memudahkan penggunaan SQLite database
Itulah beberapa library yang termasuk dalam kategori ini. Tentunya itu belum semuanya ya, masih ada lagi yang lain dan sepertinya akan terus bertambah kedepannya.
UI
Beberapa library yang termasuk dalam kategori ini antara lain:
- Animation & Transition, terkait transisi antar screen atau animasi setiap widget
- Emoji, menyediakan semua jenis emoji
- Palette, membuat palet warna dari gambar
Behaviour
Beberapa library yang termasuk dalam kategori ini antara lain:
- DownloadManager, terkait download file di background
- Permissions, menyediakan API untuk pengecekan dan permintaan permissions
- Notifications, menyediakan API untuk pembuatan notifikasi
Foundation
Komponen atau library yang berada di kategori ini merupakan core system dari aplikasi android. Berikut beberapa library yang termasuk dalam kategori ini:
- AppCompat, semua komponen yang ada di support library v7 seperti RecyclerView, GridLayout, CardView dan lainnya, itu sudah dimasukkan ke dalam AppCompat ini
- Android KTX, beberapa kode akan lebih ringkas. Tentunya ini hanya untuk yang menggunakan bahasa kotlin saja ya
- Multidex, akan berguna ketika jumlah method dalam aplikasi melebihi angka 65,536
- Test, terkait unit testing
Keuntungan Menggunakan Android Jetpack
Jika teman-teman menggunakan komponen atau library yang termasuk dalam Android Jetpack ini, maka akan mendapatkan kemudahan dan manfaat, apa saja itu?
- Aplikasi yang dibuat akan lebih jarang error atau crash
- Meminimalisir Bug
- Akan lebih mudah dirawat atau maintenance
- Mudah ditest
- Task atau kode yang kompleks bisa lebih sederhana
- Menghilangkan kode yang berulang-ulang atau boilerplate
- Memudahkan developer untuk membuat kode yang mendukung perangkat lama
Referensi
Materi:
- https://www.youtube.com/watch?v=LmkKFCfmnhQ
- https://www.youtube.com/watch?v=4EGJgf6vkGo
- https://www.youtube.com/watch?v=r8U5Rtcr5UU
- https://developer.android.com/jetpack
- https://www.geeksforgeeks.org/introduction-to-android-jetpack/
Gambar
- https://developer.android.com/images/hero-assets/android-jetpack.svg