Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Andronity Solo Workshop vol 4

Andronity Solo Workshop vol 4

Coroutine feat Retrofit

HabibAlmaula

June 27, 2020
Tweet

Other Decks in Programming

Transcript

  1. Kotlin Coroutine Workshop Andronity Solo Vol.4 - Apa itu Coroutine?

    - Kenapa Coroutine? - Apa yang bisa Coroutine lakukan? - Coroutine feat Retrofit
  2. Workshop Andronity Solo Vol.4 Apa itu Kotlin Coroutine? Coroutine =>

    Sebuah design pattern konkurensi. Kotlin Coroutine => Coroutine yang dapat digunakan pada pemrograman android, untuk memudahkan dan menyingkat penulisan kode yang berjalan secara asynchronus
  3. Workshop Andronity Solo Vol.4 Coroutine tidak hanya ada pada bahasa

    pemrograman kotlin, namun juga ada dibahasa lain seperti Javascript, C#, Python, Ruby, Go dan lain-lain.
  4. Workshop Andronity Solo Vol.4 Tim Pengembangan Kotlin, menyebut coroutine sebagai

    “lightweight Thread” Persamaan Perbedaan • sama-sama sequence of instruction • multiple coroutines atau thread dapat dijalankan secara concurent • multiple coroutines atau thread sharing resource memory • coroutines disebut lightweight thread • coroutines jalan diatas thread
  5. Workshop Andronity Solo Vol.4 Pada android, coroutines dapat digunakan untuk

    mengatasi 2 problem utama : • Menghandle long running task yang dapat menghalangi main thread sehingga mengakibatkan aplikasi lagging, contoh : Networking • Main Safety ketika memanggil heavy task dari main thread contoh : write ke database, menghandle ribuan list
  6. Workshop Andronity Solo Vol.4 Pada Code tersebut, strukturnya: • GlobalScope

    = Coroutine Scope • launch/async = Coroutine Builder • Dispatcher.IO/Main = Corourine Dispatcher launch async launch with dispatcher
  7. Workshop Andronity Solo Vol.4 Kelebihan Retrofit + Coroutine • Tidak

    perlu menggunakan callback dari Retrofit • Penulisan code menjadi lebih singkat • callback bisa dicustommenggunakan livedata (Jetpack Component)
  8. Workshop Andronity Solo Vol.4 Tips Coroutine : * Room will

    provide main-safety automatically if you use suspend functions, RxJava, or LiveData. ** Networking libraries such as Retrofit and Volley manage their own threads and do not require explicit main-safety in your code when used with Kotlin coroutines.