As discussed throughout this book, ReactiveX is very useful for many domains. If there is one domain where reactive programming is thriving, it is definitely the mobile domain, where apps are becoming increasingly complex, and users have a short tolerance for unresponsive, slow, or buggy apps. Therefore, mobile app developers were early adopters of ReactiveX to solve these problems. RxSwift has quickly become popular on iOS after RxJava got a foothold on Android. There are also RxAndroid and RxBinding libraries to integrate RxJava easily with the Android environment, which we will cover in this chapter.
One of the pain points for Android developers was being stuck with Java 6. The widely used versions of Android (KitKat, Lollipop, and Marshmallow) do not support Java 8 lambdas (although this changed in Android Nougat, which finally uses OpenJDK 8). At first glance...