Trend Pengembangan Android tahun 2022

Keunggulan development team adalah yang selalu update terhadap perkembangan teknologi, trend pengembangan terbaru dan pada akhirnya bisa dikatakan terpaksa meninggalkan comfort zone untuk sesuatu yang lebih baik. Pastinya dengan perkembangan teknologi membawa perubahan yang positif dalam sisi performance, robust development, scalability point dan banyak hal lainnya, dan perkembangan ini juga terjadi pada Android. Berikut beberapa hal menarik yang baiknya Anda kuasai dalam pengembangan Aplikasi Android.

Jetpack Compose

Teknologi ini adalah teknologi yang sangat penting disampaikan oleh Google pada tahun lalu pada event besar mereka tiap tahunnya. Ini adalah sesuatu hal baru yang mengubah pandangan kita dalam mengembangkan aplikasi Android walaupun perbedaan pada Layer UI. Developer meninggalkan cara lama dengan menggunakan XML dengan cara baru dengan declarative function. Google claim ini adalah masa depan dalam mengembangkan aplikasi Android yang saat ini masih pararel dalam proses penyempuranaan. Dengan jetpack compose, cara untuk membangun antar muka secara modern sudah menyusul platform lain seperti Swift UI pada iOS, Flutter dan lainnya.

Jetpack Compose

Jetpack compose dituliskan dalam bahasa Kotlin yang mana kotlin sudah mendapatkan fullsupport dari Google untuk Platform Androidnya. Jetpack compose adalah masa depan dalam pengembangan user interface pada aplikasi Android, jadi bisa catch-up dengan trend ini mulai dari sini.

Kotlin Flow

Setelah kotlin secara official menjadi bahasa pemrograman dalam pengembangan Aplikasi Android, kotlin terus berkembang seperti Kotlin Coroutine yang sangat powerfull untuk diimplementasikan dan hal baru lagi yaitu Kotlin Flow. Kotlin Flow adalah cara kita mereturn multiple value secara asinkronous.

How Flow Implemented

Berikut contoh implementasi code untuk Kotlin Flow

class NewsRemoteDataSource(
    private val newsApi: NewsApi,
    private val refreshIntervalMs: Long = 5000
) {
    val latestNews: Flow<List<ArticleHeadline>> = flow {
        while(true) {
            val latestNews = newsApi.fetchLatestNews()
            emit(latestNews) // Emits the result of the request to the flow
            delay(refreshIntervalMs) // Suspends the coroutine for some time
        }
    }
}

// Interface that provides a way to make network requests with suspend functions
interface NewsApi {
    suspend fun fetchLatestNews(): List<ArticleHeadline>
}

Hilt

Hilt adalah tools dependency injection baru, dibangun diatas Dagger Dependency Injection yang paling populer. Itu dibuat khusus untuk Android, yang support untuk ViewModel, Activity, Fragment, dan bahkan Jetpack Compose. Kalau dibandingkan dengan Dagger, konfigurasi Hilt ini sangat mudah dan erronya lebih clear, jadi bahkan untuk orang yang kurang berpengalaman dengan dependency injection, seharusnya cukup mudah untuk dimengerti.

Before Using Hilt

class MyApplication : MyBaseApplication() {
  @Inject lateinit var bar: Bar

  override fun onCreate() {
    super.onCreate()

    val myComponent =
        DaggerMyComponent
            .builder()
            ...
            .build()

    myComponent.inject(this)
  }
}

After Using Hilt

@HiltAndroidApp
class MyApplication : MyBaseApplication() {
  @Inject lateinit var bar: Bar

  override fun onCreate() {
    super.onCreate() // Injection happens in super.onCreate()
    // Use bar
  }
}

Disamping dari tiga tools diatas, apakah ada yang ingin Anda tambahkan?. Do share your thoughts.