Reactive Programming with RxJava - Tomasz Nurkiewicz, Bent Christiansen, Erik Meijer

Reactive Programming with RxJava

Creating Asynchronous, Event-Based Applications. Includes Android Coverage.
Buch | Softcover
372 Seiten
2016
O'Reilly Media (Verlag)
978-1-4919-3165-3 (ISBN)
39,95 inkl. MwSt
In today’s app-driven era, when programs are asynchronous and responsiveness is so vital, reactive programming can help you write code that’s more reliable, easier to scale, and better-performing. With this practical book, Java developers will first learn how to view problems in the reactive way, and then build programs that leverage the best features of this exciting new programming paradigm.

Authors Tomasz Nurkiewicz and Ben Christensen include concrete examples that use the RxJava library to solve real-world performance issues on Android devices as well as the server. You’ll learn how RxJava leverages parallelism and concurrency to help you solve today’s problems. This book also provides a preview of the upcoming 2.0 release.

Write programs that react to multiple asynchronous sources of input without descending into "callback hell"
Get to that aha! moment when you understand how to solve problems in the reactive way
Cope with Observables that produce data too quickly to be consumed
Explore strategies to debug and to test programs written in the reactive style
Efficiently exploit parallelism and concurrency in your programs
Learn about the transition to RxJava version 2

Ben Christensen is a software engineer focused on resilience, scaleand distributed systems. Open source projects created whileaddressing these requirements include Hystrix (https://github.com/Netflix/Hystrix) and RxJava (https://github.com/ReactiveX/RxJava).

Chapter 1Reactive Programming with RxJava
Reactive Programming and RxJava
When You Need Reactive Programming
How RxJava Works
Mechanical Sympathy: Blocking versus Nonblocking I/O
Reactive Abstraction
Chapter 2Reactive Extensions
Anatomy of rx.Observable
Subscribing to Notifications from Observable
Controlling Listeners by Using Subscription and Subscriber
Creating Observables
Use Case: From Callback API to Observable Stream
rx.subjects.Subject
ConnectableObservable
Summary
Chapter 3Operators and Transformations
Core Operators: Mapping and Filtering
More Than One Observable
Advanced Operators: collect(), reduce(), scan(), distinct(), and groupBy()
Slicing and Dicing Using skip(), takeWhile(), and Others
Writing Customer Operators
Summary
Chapter 4Applying Reactive Programming to Existing Applications
From Collections to Observables
BlockingObservable: Exiting the Reactive World
Embracing Laziness
Composing Observables
Imperative Concurrency
flatMap() as Asynchronous Chaining Operator
Replacing Callbacks with Streams
Polling Periodically for Changes
Multithreading in RxJava
Summary
Chapter 5Reactive from Top to Bottom
Beating the C10k Problem
HTTP Client Code
Relational Database Access
CompletableFuture and Streams
Observable versus Single
Summary
Chapter 6Flow Control and Backpressure
Flow Control
Backpressure
Summary
Chapter 7Testing and Troubleshooting
Error Handling
Testing and Debugging
Unit Testing
Monitoring and Debugging
Summary
Chapter 8Case Studies
Android Development with RxJava
Managing Failures with Hystrix
Querying NoSQL Databases
Camel Integration
Java 8 Streams and CompletableFuture
Memory Consumption and Leaks
Summary
Chapter 9Future Directions
Reactive Streams
Observable and Flowable
Performance
Migration
Appendix More HTTP Server Examples
fork() Procedure in C Language
Thread per Connection
Thread Pool of Connections
Appendix A Decision Tree of Observable Operators

Erscheinungsdatum
Verlagsort Sebastopol
Sprache englisch
Maße 150 x 250 mm
Gewicht 666 g
Einbandart kartoniert
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Informatik Software Entwicklung Objektorientierung
Mathematik / Informatik Informatik Web / Internet
Informatik Weitere Themen Smartphones / Tablets
Schlagworte Android • App-Entwicklung • Ereignisorientierte Programmierung • event-based • Java • reactive programming
ISBN-10 1-4919-3165-5 / 1491931655
ISBN-13 978-1-4919-3165-3 / 9781491931653
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich