Book Image

Learning RxJava

By : Thomas Nield
Book Image

Learning RxJava

By: Thomas Nield

Overview of this book

RxJava is a library for composing asynchronous and event-based programs using Observable sequences for the JVM, allowing developers to build robust applications in less time. Learning RxJava addresses all the fundamentals of reactive programming to help readers write reactive code, as well as teach them an effective approach to designing and implementing reactive libraries and applications. Starting with a brief introduction to reactive programming concepts, there is an overview of Observables and Observers, the core components of RxJava, and how to combine different streams of data and events together. You will also learn simpler ways to achieve concurrency and remain highly performant, with no need for synchronization. Later on, we will leverage backpressure and other strategies to cope with rapidly-producing sources to prevent bottlenecks in your application. After covering custom operators, testing, and debugging, the book dives into hands-on examples using RxJava on Android as well as Kotlin.
Table of Contents (21 chapters)
Title Page
Credits
About the Author
Acknowledgements
About the Reviewers
www.PacktPub.com
Customer Feedback
Preface

Acknowledgements

I am blessed to have great people in my life who have enabled everything I do, including this book. To all my family and friends who saw little of me for 6 months while I wrote this book, thank you for being so patient and understanding.

 

First, I want to thank my mom and dad. They have worked hard to ensure that I have the opportunities that I have today. My dad did everything he could to provide a better education for my brothers and me. Growing up, my mom always pushed me forward, even when I resisted; she taught me to never settle and always struggle past my limits.

 

There are so many people at my company, Southwest Airlines, who I have to thank--the leaders and colleagues in ground ops, revenue management, and network planning, who have taken risks to green-light my projects. They have embraced my unconventional approaches in leveraging technology to solve industry challenges. It is amazing to work for a company that continues to be a maverick and support a tradition started by an attorney, a Texas businessman, and a cocktail napkin.

 

I also want to thank the great folks at O’Reilly Media and Packt who continue to open doors for me to write and speak. Although I was approached by Packt to write this book, they probably would never have found me if it was not for O’Reilly and my previous book, Getting Started with SQL.

 

While he was not involved in this book or ReactiveX, I want to extend my gratitude to Edvin Syse, the creator and maintainer of TornadoFX. I joined his project in early 2016, and it is amazing how far it has come. Edvin’s work has helped me save a lot of my time and enabled me to pursue initiatives like this book. If you ever need to build JVM desktop apps quickly, Edvin’s work may change how you do so forever. More importantly, he is probably the nicest and most helpful person you will encounter in the open source community.

Finally, I want to thank the open source community for helping me shape this journey and what ultimately became this book. David Karnok and David Moten have been enormously patient with me over the years when I had questions about RxJava. David Karnok seems to have an infinite bandwidth, not only owning and maintaining RxJava, but also answering questions and being the project’s ambassador. David Moten also contributes to RxJava and is an Rx advocate for newbies and veterans alike, answering questions and helping anyone at any skill level. It is an honor to have them both review this book. I also want to thank Stepan Goncharov for checking my content on Android and everyone else in the OSS community who has been quick to share their knowledge and insights over the years.