Melihat kembali perkembangan Android selama 5+ tahun terakhir dan sejauh mana perkembangannya

Saya membuat aplikasi Android pertama saya pada tahun 2015. Saat itu, perkembangan Android sangat berbeda dibandingkan sekarang. Tidak ada pustaka Jetpack untuk mempelajari praktik terbaik saat Anda menangani aplikasi berperforma tinggi dan kumpulan data besar, serta tidak ada kit UI mewah seperti ConstraintLayout atau MotionLayout. Sejujurnya, Android Studio pun tidak secerdas itu saat itu.

Berdasarkan pengalaman saya sejak awal pengembangan Android, saya telah melihat kemajuan luar biasa di enam bidang — Bahasa, UI, Perpustakaan, AndroidX, Privasi & Keamanan, dan Alat.

Bahasa — Kotlin

Pada awalnya, saya lebih suka bekerja dengan Java daripada Kotlin karena kurangnya sumber daya untuk belajar. Itu tidak terlalu sulit bagi saya karena saya mulai belajar Java sejak saya masih kuliah. Jadi, dibutuhkan kerja keras selama tiga hingga empat bulan untuk memulai karier saya sebagai pengembang Android.

Java itu bagus, tapi Kotlin lebih baik; butuh waktu dua tahun bagi saya untuk menyadari betapa Java mempersulit pengembangan Android. Tidak ada fungsi ekstensi, operator Elvis, kemampuan DSL, atau coroutine tanpa Kotlin dan banyak lagi.

Daftarnya tidak ada habisnya; ketika saya akhirnya memberanikan diri untuk meninggalkan bahasa yang telah saya gunakan selama lebih dari dua tahun, saya terkejut melihat bagaimana Kotlin meningkatkan kualitas pengembangan Android. Kemudian Google mengumumkan Kotlin sebagai salah satu bahasa resmi untuk pengembangan Android pada tahun 2017.

Selama bertahun-tahun, tim Kotlin meningkatkan penggunaan bahasa tersebut melampaui imajinasi. Saat ini kita sepenuhnya dapat membangun aplikasi seluler (Android & IOS — Kotlin multiplatform) & web (KotlinJs) dengan dukungan backend (Kotlin untuk backend) di Kotlin.

Berdasarkan pengalaman saya, saya menggunakan Java dan Kotlin untuk pengembangan Android. Kedua bahasa tersebut bagus, tetapi jika kita bandingkan, Kotlin adalah pemenangnya tanpa diragukan lagi. Ini meningkatkan kualitas kode & produktivitas pengembang. Saya telah mendokumentasikan Perjalanan Saya Dari Java ke Kotlin di artikel berikut.



UI

Pada tahun 2015 terdapat tata letak terbatas untuk membangun UI seperti RelativeLayout, LinearLayout, FrameLayout, dll. Saat itu, sebagian besar pengembang menggunakan RelativeLayout untuk memposisikan tampilan secara relatif dan LinearLayout untuk menyelaraskannya secara vertikal atau horizontal.

Seiring waktu, tata letak yang kuat seperti ConstrainLayout mulai terungkap. Ini hampir menghilangkan penggunaan RelativeLayout dan LinearLayout. Melalui ContraintLayout, kita dapat membangun tata letak yang kompleks dalam hierarki datar, yang menghasilkan rendering yang cepat.

Sebelum tata letak batasan, jika kita ingin membangun tata letak aliran seperti ini, kita perlu membuat dan mengelola tata letak tersebut dengan menggunakan beberapa pustaka pihak ketiga. Dengan bantuan fitur canggih seperti Flow di ConstraintLayout, kita dapat membuat Flow-Layouts dalam XML.

Lalu muncullah MotionLayout; itu mengubah cara pengembang mengimplementasikan animasi. Kita dapat membuat transformasi, animasi, dan lainnya dengan cara yang benar-benar baru melalui XML. Kami juga dapat memperbarui perubahan kecil pada UI melalui XML saat runtime. Ini juga mendukung acara seperti klik, geser, dan lainnya.

Tata letak XML bagus, tapi JetPack Compose lebih baik.

Ini mungkin terlalu dini, tapi saya yakin pendekatan UI deklaratif di Android dengan “JetPack Compose” akan membawa perubahan besar. Dengan Jetpack Compose, kita dapat membangun seluruh aplikasi Android di Kotlin — logika, file build, komponen UI, dan banyak lagi. Terlebih lagi, Kotlin akan menjadi alasan utama mengapa kami menyukainya.

Jika Anda tertarik untuk mempelajari lebih lanjut tentang UI Android dan Jetpack Compose, saya sarankan membaca artikel berikut:





Perpustakaan

Pada masa-masa awal Android, hanya perpustakaan dukungan Android yang tersedia. Belakangan, pengembang & perusahaan mulai menyumbangkan beberapa perpustakaan berkualitas yang dapat digunakan oleh pengembang mana pun, seperti ButterKnife, Retrofit, Picasso, dan banyak lagi.

Kemudian Google mulai meluncurkan perpustakaan inti permainan untuk fitur-fitur seperti pembelian dalam Aplikasi. Inti permainan lembur menyediakan beberapa fitur berkualitas seperti pembaruan dan ulasan dalam Aplikasi untuk melibatkan pengguna bahkan ketika mereka melakukan tugas eksternal.

Kemudian muncul kerangka kerja seperti “pengikatan data”, “Firebase”, dan banyak lagi. Hal ini mengurangi beban pengembang dalam banyak hal, seperti menghubungkan tata letak dengan file kelas, membuat “backend” untuk aplikasi, dan banyak lagi.

Jetpack adalah pembaruan transformasional pada area perpustakaan dalam pengembangan Android. Ini adalah sekumpulan pustaka perangkat lunak dan komponen arsitektur Android yang bertujuan membantu kami membangun aplikasi skalabel dengan kinerja terbaik dengan implementasi minimal.

Beberapa perpustakaan paling populer dan berguna dari keluarga Jetpack adalah WorkManager, Pagging3, Room, Navigation, CameraX, Viewbinding, dan banyak lagi. Ada beberapa perpustakaan menarik dalam keadaan alfa dan beta, seperti “DataStore”, “Hilt”, dan “AppStartup”.

AndroidX

Pada masa-masa awal pengembangan Android, kami tidak memiliki namespace androidX yang mewah; sebaliknya, kami terjebak dengan perpustakaan dukungan Android. Saya merasa sulit untuk memperbarui perpustakaan dukungan pada setiap rilis dan kelelahan karena kesalahan karena ketidakcocokan antara versi perpustakaan dukungan yang berbeda.

Artefak dalam namespace androidx terdiri dari pustaka Android Jetpack. Seperti Pustaka Dukungan, pustaka di namespace androidx dikirimkan secara terpisah dari platform Android dan menyediakan kompatibilitas mundur di seluruh rilis Android.
— Pengembang Android

Versi 28.0.0 adalah rilis terakhir untuk pustaka dukungan Android; setelah itu, rilis dan pustaka baru dipertahankan di bawah namespace androidX. Secara default, Android Studio membuat proyek baru di AndroidX, dan juga menyediakan opsi mudah untuk memigrasikan proyek yang ada dari pustaka dukungan ke AndroidX. Ini berfungsi sebagian besar waktu, namun dalam beberapa kasus juga dengan proyek besar, kita perlu menangani beberapa konversi secara manual.

Jika Anda tertarik untuk mempelajari lebih lanjut tentang AndroidX dan cara bermigrasi ke AndroidX, saya sangat merekomendasikan membaca blog berikut.



Privasi & Keamanan

Privasi & Keamanan adalah salah satu area di mana orang memandang rendah platform Android. Tapi sekarang tidak lagi demikian. Karena Android adalah platform yang terkenal dengan penyesuaiannya di setiap aspek OS, tidak mungkin membatasi pengguna atau pengembang seperti iOS.

Untuk menangani masalah ini, Google berfokus untuk memberikan kontrol lebih besar kepada pengguna dengan berbagai opsi seperti izin runtime, izin satu kali, izinkan hanya saat menggunakan aplikasi, menampilkan ikon masing-masing saat aplikasi menggunakan fitur seperti kamera, mikrofon, dan lainnya di aplikasi. status bar.

Komunikasi yang aman

Komunikasi yang aman dengan server adalah salah satu tugas penting dalam aplikasi seluler apa pun. Di Android, kita dapat membuat koneksi aman melalui penyematan sertifikat. Pada awalnya, ini diterapkan melalui TrustManager. Kemudian Google memberikan pendekatan asli untuk menerapkan penyematan sertifikat melalui konfigurasi keamanan jaringan. Namun saya sarankan menggunakan penyematan sertifikat retrofit. Semua pendekatan yang saya sebutkan di sini dijelaskan dengan baik di postingan blog berikut.



Keamanan

Menyimpan data sensitif di aplikasi Android merupakan risiko sejak awal, namun segalanya akan segera berubah dengan pustaka preferensi Bersama Terenkripsi asli dari keluarga AndroidX. Anda dapat mempelajari semuanya di sini.

Peralatan

Pada awalnya, pengembang menggunakan Eclipse IDE untuk mengembangkan aplikasi android. Kemudian Android Studio diumumkan pada 16 Mei 2013, di konferensi Google I/O. Versi stabil pertama dirilis pada bulan Desember 2014.

Selama bertahun-tahun, Android Studio telah menjadi salah satu IDE yang paling kuat. Ini memiliki banyak pintasan, banyak fitur canggih seperti templat langsung, emulator bawaan, pemeriksa basis data, dan banyak lagi. Selain versi stabil, kami juga dapat menggunakan versi Android studio canary untuk menjelajahi fitur-fitur mendatang yang belum stabil.

Saya pribadi menyukai fitur live templates dan mode tampilan di Android studio. Jika Anda tertarik untuk mempelajari lebih lanjut tentang Android Studio, saya sarankan membaca blog berikut.

Itu saja untuk saat ini, semoga Anda mendapat sesuatu yang bermanfaat, terima kasih telah membaca.