The rest of this chapter will be dedicated to the specific implementation of reactive principles in Kotlin. The predominant library in this field is RxJava. Since Kotlin is fully interoperable with Java libraries, RxKotlin is only a thin wrapper over the original RxJava. Hence, we'll discuss it as if these are one and the same library, and highlight the differences, if any.
As soon as we start talking about RxJava, you'll recognize it's built upon the Observer design pattern we discussed in Chapter 4, Getting Familiar with Behavioral Patterns.
We'll start by adding the following dependency to our Gradle project:
compile "io.reactivex.rxjava2:rxjava:2.1.14"
Currently, this is the latest version of RxJava2, but when you read this chapter, there will probably ba a more recent version already. Feel free to use it.
You may remember...