Build asynchronous, event-based, and concurrent applications with Java and ReactiveX
Key FeaturesExplore the essential tools and operators in RxJava and understand when to use themBuild scalable and high performing reactive applications with Observables and Subscribers Implement tools to perform complex tasks such as concurrency and backpressure effectivelyBook DescriptionRxJava 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 learnExplore RxJava’s reactive types such as Flowable, Single, Maybe, and CompletableDemystify Observables and how they express data and events as sequencesExplore Rx operators that transform, filter, and combine data and event sequencesUse multicasting to push data to multiple destinations and cache and replay themDiscover how concurrency and parallelization work in RxJava and implement complex tasks easilyBuild reactive Android applications using RxJava with KotlinWho this book is forIf 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 ContentsThinking ReactivelyObservables and SubscribersBasic OperatorsCombining ObservablesMulticasting, Replaying, and CachingConcurrency and ParallelizationSwitching, Throttling, Windowing, and BufferingFlowables and BackpressureTransformers and Custom OperatorsTesting and DebuggingRxJava on AndroidUsing RxJava for Kotlin New