RXJava
RxJava is a Java VM implementation of Reactive Extensions: a library for composing asynchronous and event-based programs by using observable sequences.
It extends the observer pattern to support sequences of data/events and adds operators that allow you to compose sequences together declaratively while abstracting away concerns about things like low-level threading, synchronization, thread-safety and concurrent data structures.
This class introduces you to the history of RXJava, what purpose it serves, using marble diagrams, and using it in a production environment.
-
Introduction
-
What is it?
-
Flow API
-
Differences between 1.x and 2.x
-
-
Basic Components
-
Observable
-
Subscriber
-
Subscription
-
Subject
-
Multiple Subscribers
-
Infinite Streaming
-
-
Marble Diagrams
-
Pipeline Creation
-
just
-
interval
-
fromFuture
-
fromIterable
-
fromCallable
-
defer
-
-
Intermediate Operators
-
filter
-
map
-
flatMap
-
flatMapIterable
-
compose
andTranformer
-
takeWhile
-
concatMap
-
zip
andzipWith
-
-
Debugging Operators
-
doOnNext
-
doOnError
-
onErrorReturn
-
onAfterTerminate
-
-
Combination Operators
-
startWith
-
concat
-
amb
-
merge
-
switchOnNext
-
combine
-
combineLatest
-
withLatestFrom
-
amb
-
-
Reduction Operators
-
collect
-
reduce
-
scan
-
distinct
-
groupBy
-
-
Error Handling
-
onErrorResumeNext
-
onErrorReturn
-
onErrorReturnItem
-
onExceptionResumeNext
-
-
Multithreading and Schedulers
-
subscribeOn
-
observeOn
-
-
Hot vs. Cold Observable
-
publish
-
share
-
-
Backpressure
-
Flowable
-
throttle
-
throttleWithTimeout
-
sample
-
debounce
-
-
Testing
-
Performance