Reactive programming is an asynchronous approach to event handling. We encounter asynchronous events, such as user interactions with the interface or the delivery of long-term operation results, all the time. There are also libraries, such as RxJava and Reactor, that allow us to write reactive code in Kotlin or Java.
In this chapter, you will learn about the Observer pattern, and how to transform asynchronous events from one type to another. You will also learn how to use the Mono, Single, Observable, and Flux classes that implement the reactive programming concepts.
This chapter will cover the following topics:
- Reactive programming with Spring Reactor
- Blocking and non-blocking
- RxJava
- RxJava in Android
By the end of this chapter, you will be able to apply reactive programming to your applications, using the RxJava and Reactor libraries.