Overview
The Observable type and the operators that come with the libraries that implement them are extremely powerful and expressive tools to manage events in programs. Whether your application has lots of AJAX calls, socket events, worker threads, video and audio streams or just your standard mouse and keyboard events, using Observables can vastly reduce the number of bugs and lines of code you might have. You may even discover new features you didn’t think were possible!
Despite their power, Observables are underutilized by web developers mostly due to it being “hard”. Nevertheless, libraries such as Reactive Extensions (Rx for short), have been through rigorous research and testing by companies such as Microsoft, Google and Netflix, and are starting to build a ton of momentum, particularly in JavaScript land. Come and learn what they are, how to use them and why they are awesome!
Objective
To demonstrate the power and expressiveness of Observables to better manage asynchronous programming.
Target Audience
Possible choice 1) Any developer who has been to callback hell and back.
Possible choice 2) All developers who are interested in writing more fluent event based code
Assumed Audience Knowledge
Basic experience with async (callback functions, promises etc)
Five Things Audience Members Will Learn
- What Observables are, their related types and how to implement a basic Observable library
- About RxJS – the ecosystem and the tools
- How to use RxJS’s operators to build an event based app with few lines of code
- The differences between using Observables vs Promises vs Generators vs Callbacks
- The finer points of Observable libraries and why you might be using them soon in Native JavaScript!