13. ✓ Cross platform ;)
✓ A fun new tool. “If you only have a hammer -
you tend to see each problem as nail.”
✓ Less error prone
✓ ! a steep learning curve
FRP is...
15. RxJava is an extension of the
observer desing pattern
16.
17.
18. It’s pull-based approach and any logic
requires the result to be available at
execution time
Iterables
19. Futures are straight-forward to use for a
single level of asynchronous execution
Conditional asynchronous execution flows
become difficult to optimally compose
Futures
20. They are easy to use with a single level of
asynchronous execution but become
unwieldy with nested composition.
Callbacks
21. Producer can signal consumer that there is
no more data available
Producer can signal consumer that error has
ocurred
Observer Pattern
25. FRP is...
✓ Responsive, Reslient,
Elastic, Message Driven
“FRP manifesto”
✓ Rx = Observables + LINQ + Schedulers
“Microsoft”
✓ Programming paradigm for reactive programming using
the building blocks of functional programming
“Wikipedia”
✓ … “stackoverflow”
26. FRP is...
✓ Responsive, Reslient,
Elastic, Message Driven
“FRP manifesto”
✓ Rx = Observables + LINQ + Schedulers
“Microsoft”
✓ Programming paradigm for reactive programming using
the building blocks of functional programming
“Wikipedia”
✓ … “stackoverflow”
27. FRP is...
✓ Responsive, Reslient,
Elastic, Message Driven
“FRP manifesto”
✓ Rx = Observables + LINQ + Schedulers
“Microsoft”
✓ Programming paradigm for reactive programming using
the building blocks of functional programming
“Wikipedia”
✓ … “stackoverflow”
28. FRP is...
✓ Responsive, Reslient,
Elastic, Message Driven
“FRP manifesto”
✓ Rx = Observables + LINQ + Schedulers
“Microsoft”
✓ Programming paradigm for reactive programming using
the building blocks of functional programming
“Wikipedia”
✓ … “stackoverflow”
29. FRP is...
✓ Responsive, Reslient,
Elastic, Message Driven
“FRP manifesto”
✓ Rx = Observables + LINQ + Schedulers
“Microsoft”
✓ Programming paradigm for reactive programming using
the building blocks of functional programming
“Wikipedia”
✓ … “stackoverflow”
Bla, bla,
bla...
30. Rx.Observable.prototype
.flatMapLatest(selector, [thisArg])
Projects each element of an observable sequence into a new
sequence of observable sequences by incorporating the element's
index and then transforms an observable sequence of observable
sequences into an observable sequence producing values only from
the most recent observable sequence.