Exploring the Reactive Extensions in JavaScript



What’s does a mouse drag event have in common with an Array of numbers?

script type="text/javascript" src="http://aos-creative.prf.hn/creative/camref:100l3Rd/creativeref:10l3694">

The answer to this question may surprise you: they are both collections. This key insight holds the key to dramatically simplifying asynchronous programming in JavaScript. In this talk you will learn how you can use the familiar JavaScript Array#extras methods to create surprisingly expressive asynchronous programs. Using just a few functions, you will learn how to do the following:

Declaratively build complex events out of simple events (ex. drag n’ drop)
Coordinate and sequence multiple Ajax requests
Reactively update UIs in response to data changes
Eliminate memory leaks caused by neglecting to unsubscribe from events
Gracefully propagate and handle asynchronous exceptions

In this talk we’ll be exploring the Reactive Extensions for JavaScript (Rx) library (https://github.com/Reactive-Extensions/RxJS) which allows us to treat events as collections. We’ll also contrast RxJS with Promises, CSP and other popular approaches to building asynchronous programs in JavaScript. We’ll also dive into the future with RxJS with generators, transducers, and even query transformations.

Matthew Podwysocki

http://dx.doi.org/10.1145/2742580.2742817

source

Reply


Build A Site Info