Mobile Development

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.

Development Team

Share
Published by
Development Team

Recent Posts

Revolutionizing Business : How ChatGPT is Accelerating Your Business

Hi there, ChatGPT is very familiar and become the hottest technology generation now a days.…

2 years ago

Design Patterns: Essential Techniques for Writing High-Quality Code

When it comes to writing code, there are a lot of factors to consider. You…

2 years ago

Must Know ES6 Features for Modern Javascript Development

ES6, also known as ECMAScript 2015, is a major update to the JavaScript language that…

2 years ago

How CI/CD Improve Agility of Software Development

In today's fast-paced business environment, the ability to quickly respond to changing market conditions and…

2 years ago

Layered Architecture

Sangat umum dijumpai bahwa developer tidak menggunakan arsitektur formal, tanpa arsitektur yang jelas dan terdefinisi…

3 years ago

7 DBMS Paling Populer Saat ini

Database Management System atau kerap kali disebutkan dengan DMBS ini adalah software/tools yang digunakan untuk…

3 years ago