Apa itu Pemrograman Reaktif

date 16 Sep 2021
date Fathurrahman
date 36
date Mobile App
Apa itu Pemrograman Reaktif

Apa itu Pemrograman Reaktif ?

 

semua orang berbicara tentang Pemrograman Reaktif dan Anda penasaran mempelajari hal baru yang disebut Pemrograman Reaktif ini. Mungkin Anda pernah melihatnya menggunakan beberapa tempat tetapi Anda masih sedikit bingung dan ingin beberapa klarifikasi.

Pada artikel ini, kita akan mempelajari konsep dasar Pemrograman Reaktif. Mulai dari artikel berikutnya kita akan melakukan beberapa pemrograman nyata dan mempelajari cara menggunakan RxJava dalam pengembangan aplikasi Android.

Jadi, pertama mari kita understa n d apa yang masalah yang kita hadapi? Mengapa kita membutuhkan Pemrograman Reaktif? Karena jika tidak ada masalah, maka kita tidak butuh solusi kan??

 

Mengapa kita membutuhkan pekerjaan Asynchronous ?

Jawaban sederhananya adalah kami ingin meningkatkan pengalaman pengguna.Kami ingin membuat aplikasi kami lebih responsif. Kami ingin memberikan pengalaman pengguna yang lancar kepada pengguna kami tanpa membekukan utas utama, memperlambat mereka, dan kami tidak ingin memberikan kinerja jenky kepada pengguna kami.

Untuk menjaga agar utas utama tetap bebas, kita perlu melakukan banyak pekerjaan berat dan memakan waktu yang ingin kita lakukan di latar belakang. Kami juga ingin melakukan pekerjaan berat dan perhitungan rumit di server kami karena perangkat seluler tidak terlalu kuat untuk melakukan pekerjaan berat. Jadi kita membutuhkan pekerjaan asinkron untuk operasi jaringan.

 

Matriks evaluasi:

Mari kita lihat apa yang kita butuhkan dari perpustakaan yang menangani semua pekerjaan asinkron. Anda dapat membayangkan di bawah 4 poin sebagai matriks evaluasi untuk perpustakaan asinkron.

  • Eksekusi eksplisit: Jika kita memulai eksekusi banyak pekerjaan di utas baru, kita harus bisa mengendalikannya. Jika Anda akan melakukan beberapa tugas latar belakang, Anda mengumpulkan informasi dan mempersiapkannya. Segera setelah Anda siap, Anda dapat memulai tugas latar belakang.
  • Manajemen utas yang mudah: Dalam pekerjaan asinkron, manajemen utas adalah kuncinya.Kami sering perlu memperbarui UI di utas utama dari utas latar belakang di tengah tugas atau di akhir tugas. Untuk itu, kita perlu meneruskan pekerjaan kita dari satu utas (utas latar belakang) ke utas lainnya (di sini utas utama). Jadi, Anda harus dapat mengganti utas dengan mudah dan meneruskan pekerjaan ke utas lain saat diperlukan.
  • Mudah dikomposisi: Idealnya, akan sangat bagus jika kita dapat membuat pekerjaan asinkron dan saat kita mulai memutar utas latar belakang, itu hanya berfungsi tanpa bergantung pada utas lain (terutama pada utas UI) dan tetap independen dari utas lainnya hingga selesai pekerjaannya. Tetapi di dunia nyata, kita perlu memperbarui UI, membuat perubahan basis data dan banyak lagi yang membuat threading saling bergantung. Jadi perpustakaan asinkron harus mudah dikomposisi dan memberikan lebih sedikit ruang untuk kesalahan.
  • Minimal efek samping: Saat bekerja dengan banyak utas, utas lainnya harus mengalami efek samping minimum dari utas lainnya. Itu membuat kode Anda mudah dibaca dan dimengerti oleh orang baru dan juga membuat kesalahan mudah dilacak.

 

Apa itu Pemrograman Reaktif ?

Menurut wikipedia :

Pemrograman reaktif adalah paradigma pemrograman yang berorientasi pada aliran data dan penyebaran perubahan. Ini berarti bahwa harus memungkinkan untuk mengekspresikan aliran data statis atau dinamis dengan mudah dalam bahasa pemrograman yang digunakan, dan bahwa model eksekusi yang mendasarinya akan secara otomatis menyebarkan perubahan melalui aliran data.

Dengan kata sederhana, dalam pemrograman Rx aliran data yang dipancarkan oleh satu komponen dan struktur dasar yang disediakan oleh pustaka Rx akan menyebarkan perubahan tersebut ke komponen lain yang terdaftar untuk menerima perubahan data tersebut. Singkat cerita: Rx terdiri dari tiga poin kunci.

RX = OBSERVABLE + OBSERVER + SCHEDULER

Kami akan membahas poin-poin ini secara rinci satu per satu.

  • Dapat diamati: Dapat diamati tidak lain adalah aliran data. Observable mengemas data yang dapat diteruskan dari satu utas ke utas lainnya. Mereka pada dasarnyamemancarkan datasecara berkala atau hanya sekali dalam siklus hidupnya berdasarkan konfigurasinya. Ada berbagai operator yang dapat membantu pengamat untuk memancarkan beberapa data spesifik berdasarkan peristiwa tertentu, tetapi kami akan membahasnya di bagian yang akan datang. Untuk saat ini, Anda dapat memikirkan yang dapat diamati sebagai pemasok. Mereka memproses dan memasok data ke komponen lain.
  • Pengamat: Pengamatmenghabiskan aliran datadipancarkan oleh yang diamati. Pengamat berlangganan ke yang dapat diamati menggunakan metode subscribeOn() untuk menerima data yang dipancarkan oleh yang dapat diamati. Setiap kali observable memancarkan data, semua observer yang terdaftar menerima data dalam callback onNext() . Di sini mereka dapat melakukan berbagai operasi seperti mengurai respons JSON atau memperbarui UI. Jika ada kesalahan yang dilontarkan dari observable, pengamat akan menerimanya di onError() .
  • Penjadwal: Ingatlah bahwa Rx adalah untuk pemrograman asinkron dan kami memerlukan manajemen utas. Ada di mana jadwal datang ke dalam gambar. Penjadwal adalah komponen dalam Rx yang memberi tahu yang dapat diamati dan pengamat, di utas mana mereka harus dijalankan. Anda dapat menggunakan metode observasiOn() untuk memberi tahu pengamat, tentang utas mana yang harus Anda amati. Selain itu, Anda dapat menggunakan scheduleOn() untuk memberi tahu yang dapat diamati, di utas mana Anda harus menjalankan. Ada utas default utama yang disediakan di RxJava seperti Schedulers.newThread() akan membuat latar belakang baru itu. Schedulers.io() akan mengeksekusi kode pada thread IO.
fathur.png

Fathurrahman

Android Mobile

Hallo saya trainer Android Mobile di Mataweb dan saya sudah berpengalaman lebih dari 5 tahun. jadi kali ini saya akan share tutorial ataupun tips seputar mobile aplikasi. Salam kenal

Artikel Terkait

Halo, ada yang bisa kami bantu?