Reactive Programming - Vrije Universiteit Brusselsoft.vub.ac.be/~svdewate/IntroToRP.pdfReactive...

Post on 20-May-2020

13 views 0 download

Transcript of Reactive Programming - Vrije Universiteit Brusselsoft.vub.ac.be/~svdewate/IntroToRP.pdfReactive...

Reactive Programming

Simon Van de Water svdewate@vub.ac.be

Problem

Callback Hell

Spreadsheet Semantics

Functional Reactive Programming

A = B + C

Example

Easily Extended

updateGUI

wait(15)

beep Steer actuator

Reactive Programming For the Web

*

Rx.JS

a.k.a.

Curing your asynchronous blues

JavaScript 6 Syntax inside!

Array Operations in a Nutshell

forEach

map

filter

concatAll

Recap

Streams

updateGUI

wait(15)

beep Steer actuator

Stream

Stream

Stream

Stream

Streams

Example

Example

Example

Auto-complete box

Auto-complete box

_

Auto-complete box.js

Reactive Programming in Meteor with

Tracker

Session Variables

Sessions at work!

Create your own dependencies

Need more than one Dictionary? ReactiveDict!

What are we doing?

Large-scale Complex Event

Detection

Reactive Object-Oriented

Programming

Middleware for real-time web-apps

Distributed Reactive

Programming

Conclusion

• Get rid of callback hell

• Error handling made easy

• Different approaches to the same goal

• SOFTLab is making it even better!

Resources• Netflix JavaScript Talks - Async JS with Rx

• Meteor Manual: http://manual.meteor.com/#deps

• Embedding dynamic dataflow in a call-by-value language

• http://channel9.msdn.com/Events/TechEd/Europe/2012/DEV413

• https://gist.github.com/staltz/868e7e9bc2a7b8c1f754