Build asynchronous, event-based, and concurrent applications with Java and ReactiveX
Key Features
- Explore the essential tools and operators in RxJava and understand when to use them
- Build scalable and high performing reactive applications with Observables and Subscribers
- Implement tools to perform complex tasks such as concurrency and backpressure effectively
Book Description
RxJava is a library for composing asynchronous and event-based programs using Observable sequences for the Java virtual machine (JVM), allowing developers to build robust applications in less time. Learning RxJava covers the fundamentals of reactive programming to help you write reactive code, and introduces you to an effective approach to designing and implementing reactive libraries and applications.
Starting with a brief introduction to reactive programming concepts, you’ll get an overview of Observables and Observers, the core components of RxJava, and how to combine different streams of data and events. You’ll also learn simpler ways to achieve concurrency and maintain high performance without the need for synchronization. As you advance, you’ll be able to implement the backpressure strategy to cope with rapidly producing sources to prevent bottlenecks in your application. Finally, the book delves into custom operators, testing, and debugging, and then moves on to practical examples of using RxJava on Android as well as Kotlin.
By the end of the book, you’ll be able to confidently build asynchronous and responsive applications using RxJava.
What you will learn
- Explore RxJava’s reactive types such as Flowable, Single, Maybe, and Completable
- Demystify Observables and how they express data and events as sequences
- Explore Rx operators that transform, filter, and combine data and event sequences
- Use multicasting to push data to multiple destinations and cache and replay them
- Discover how concurrency and parallelization work in RxJava and implement complex tasks easily
- Build reactive Android applications using RxJava with Kotlin
Who this book is for
If you’re a Java developer who wants to learn reactive programming and its benefits, this book is for you. You’ll also find this book useful if you want to use RxJava to make your programs more resilient, concurrent, and scalable.
Table of Contents
- Thinking Reactively
- Observables and Subscribers
- Basic Operators
- Combining Observables
- Multicasting, Replaying, and Caching
- Concurrency and Parallelization
- Switching, Throttling, Windowing, and Buffering
- Flowables and Backpressure
- Transformers and Custom Operators
- Testing and Debugging
- RxJava on Android
- Using RxJava for Kotlin New
Thomas Nield is a business consultant for Southwest Airlines in Schedule Initiatives, and a maintainer for RxJavaFX and RxKotlin. Early in his career, he became fascinated with technology and its role in business analytics. After becoming proficient in Java, Kotlin, Python, SQL, and reactive programming, he became an open source contributor as well as an author/speaker at O'Reilly Media. He is passionate about sharing what he learns and enabling others with new skill sets. He enjoys making technical content relatable and relevant to those unfamiliar with or intimidated by it.
Currently, Thomas is interested in data science, reactive programming, and the Kotlin language. You may find him speaking on these three subjects and how they can interconnect.
He has also authored the book Getting Started with SQL, by O'Reilly Media.