RxJava ada di luar sana untuk beberapa waktu dan orang-orang mendengar tentang kemampuannya yang lebih besar, tetapi banyak dari mereka belum memulainya. Jika Anda salah satunya, Anda terlambat ke pesta, tapi tidak apa-apa; lebih baik terlambat daripada tidak sama sekali. Beberapa pengembang yang saya ajak bicara mengatakan tidak ada panduan yang tepat tersedia (kami dapat menemukan banyak artikel bagus yang tersebar di beberapa situs web daripada di satu tempat) atau mereka takut memulai sesuatu yang baru. Kami akan mulai dengan penjelasan teoretis dasar tentang beberapa istilah yang Anda temui dalam pemrograman reaktif.
1. Apa itu Pemrograman Reaktif
Pemrograman Reaktif pada dasarnya adalah pemrograman asinkron berbasis peristiwa. Semua yang Anda lihat adalah aliran data yang tidak sinkron, yang dapat diamati dan tindakan akan dilakukan ketika memancarkan nilai. Anda dapat membuat aliran data dari apa pun; perubahan variabel, peristiwa klik, panggilan http, penyimpanan data, kesalahan dan apa yang tidak. Ketika dikatakan asynchronous, itu berarti setiap modul kode berjalan di utasnya sendiri sehingga menjalankan beberapa blok kode secara bersamaan.
Keuntungan dari pendekatan asinkron adalah, karena setiap tugas berjalan di utasnya sendiri, semua tugas dapat dimulai secara bersamaan dan jumlah waktu yang dibutuhkan menyelesaikan semua tugas setara dengan tugas yang lebih panjang dalam daftar. Ketika datang ke aplikasi seluler, saat tugas berjalan di utas latar, Anda dapat mencapai pengalaman pengguna yang mulus tanpa memblokir utas utama.
Contoh sederhana (dari Wikipedia) dapat x = y + z; di mana jumlah y dan z ditugaskan ke x. Dalam pemrograman reaktif, ketika nilai y berubah, nilai x akan diperbarui secara otomatis tanpa menjalankan kembali pernyataan x = y + z. Ini dapat dicapai dengan mengamati nilai y atau z.
Daftar array dapat menjadi steam data dan tindakan dapat diambil ketika setiap item dipancarkan. Mungkin Anda ingin memfilter angka genap dan mengabaikan angka ganjil. Ini dapat dilakukan menggunakan loop biasa dan pernyataan kondisional, tetapi dalam pemrograman reaktif Anda dapat mencapai ini dalam pendekatan yang sama sekali berbeda.
Saat Anda memulai aplikasi dalam Pemrograman Reaktif, cara Anda mendesain arsitektur dan cara Anda menulis kode sepenuhnya berubah. Bahkan menjadi lebih kuat ketika bertemu dengan Arsitektur Bersih, MVP, MVVM, dan pola desain lainnya.
2. Ekstensi Reaktif
Ekstensi Reaktif (ReactiveX atau RX) adalah pustaka yang mengikuti prinsip-prinsip Pemrograman Reaktif yaitu menyusun program-program yang tidak sinkron dan berdasarkan peristiwa dengan menggunakan urutan yang dapat diamati. Perpustakaan ini menyediakan serangkaian antarmuka dan metode yang membantu pengembang menulis kode yang bersih dan sederhana.
Ekstensi Reaktif tersedia dalam berbagai bahasa C ++ (RxCpp), C # (Rx.NET), Java (RxJava), Kotlin (RxKotlin), Swift (RxSwift) dan banyak lagi. Kami secara khusus tertarik pada RxJava dan RxAndroid karena android adalah area fokus kami.
3. Apa itu RxJava
RxJava adalah implementasi Java dari Reactive Extension (dari Netflix). Pada dasarnya ini adalah pustaka yang menyusun acara asinkron dengan mengikuti Pola Pengamat. Anda dapat membuat aliran data asinkron pada utas apa pun, mentransformasikan data dan menggunakannya oleh Pengamat pada utas apa pun. Perpustakaan menawarkan berbagai operator luar biasa seperti peta, menggabungkan, menggabungkan, memfilter dan banyak lagi yang dapat diterapkan ke aliran data.
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