Matthew Podwysocki

Exploring the Reactive Extensions in JavaScript 02-27-2015 @ 11:10 - 12:10

Matthew Podwysocki — Matthew Podwysocki is a Software Developer at Microsoft, currently working on the Reactive Extensions for all platforms including .NET, JavaScript, C++, Python and Ruby. He is a big open source community believer, with helping get node.js supported on Windows, among many other efforts. He is a conference curator having organized such conferences as no:sql(east), JSConf, and RobotsConf. He is a big believer in STEM and teaching new generations how to code.

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

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.


Video (1:00:15)