Data Streams

Data Flow

Change Propagation

Graphs

Interactivity

Async

Functional Programming

Collections

Observables

Events

Push vs Pull

Reactive

Programming

Programming Paradigms

Spaghetti

Imperative

Declarative

Asynchronous programming paradigm oriented around data streams and the propagation of change.

Data Streams

2

5

10

*

+

=

20

*

+

3

25

15

Change Propagation

Why?

How does all THIS fit with Javascript?

RxJS



                            document.addEventListener('click', function(e) {
                                console.log(e);
                            });

...

all data comes via STREAMS

MAP

FILTER

FOREACH

CONCAT

everything is a COLLECTION

_

_

_

*

+

=

_

2

5

10

20

x3

Recap

General-use programming paradigm

Promotes a new way of thinking

No native support in Javascript

Perfect for highly interactive apps

YET

TC39 has a proposal for Observables

RxMarbles

- interactive diagrams of Rx Observables -

Angular 2+

comes with RxJS baked in

Q&A

-References-

Pava