Perbedaan Fungsi
| Fungsi | Rx Java | Coroutine Flow |
| Tipe Observable | Observable, Flowable, Single, Maybe, Completable | Hanya satu yaitu Flow |
| Membuat Observable dari object | Create, Just, Dll | flowOf |
| Mengambil data | subscribe | collect |
| Context preservation | subscribeOn,observeOn | flowOn |
| Tipe thread | Schedulers | Dispatchers |
| Backpeesure | Secara default tidak ditangani oleh RX, harus didefinisikan manual. | Secara default sudah ditangani oleh Flow |
| Untuk request dengan retrofit | Perlu RxJava Adapter | Bisa langsung digunakan |
| Untuk database dengan room | Perlu library Room RxJava | Perlu library Room Ktx |
| Lifecycle management | Menggunakan Disposable | Bergabung dengan viewModelScope |
Kelebihan dan Kekurangan
| RxJava | Coroutine Flow | |
| Bahasa | Dibuat dengan java | Dibuat dengan kotlin |
| Execution | Blocking | Suspending |
| Thread Manajemen | Harus diatur pada setiap observer | Dapat diatur dalam satu tempat |
| Baris kode | Lebih banyak | Lebih Sedikit |
| Kecepatan | Lebih lambat | Lebih cepat |
| Multi-platform | Tidak support multi platform | Support multi platform |
| Maturity | Sudah teruji dan stable | Walaupun flow sudah stable, namun ada API yang masih experimental |
| Pengguna | Sudah banyak digunakan perusahaan besar sejak lama | Masih baru dibandingkan dengan Rx |
| Operator | Memiliki operator yang lebih komplit | Hanya operator yang sering digunakan sehingga lebih ringan |