Jafar.Husain
-
Reactive Javascript at Netflix
Location:Grand Ballroom B/CAbstract:
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 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 UI's 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 (Rx) library (https://rx.codeplex.com/) which allows us to treat events as collections. You'll learn about how Netflix uses Rx on the client and the server, allowing us to build end-to-end reactive systems. We'll also contrast Rx with Promises, another popular approach to building asynchronous programs in Javascript.
-
Reactive REST
Track: (Post)FunctionalLocation:Seacliff A/BAbstract:
Increasingly we live in a world of big data and small clients. In the world of distributed systems, all developers must play the role of magician. Developers must create the illusion that all of the data in the cloud is sitting on our user's devices, regardless of hardware or bandwidth limitations. The most powerful trick we developers have at our disposal is the cache. Caching can dramatically improve the perceived performance of a distributed system. However introducing a cache can add a lot of complexity to our applications. How do we avoid caching multiple, divergent copies of the same object? Furthermore how can we add caching to an existing system without requiring large changes to our code? REST (Representational State Transfer) is an architecture that provides answers to these questions. By providing a set of idempotent operations for working with your models, REST makes it easy to add cache layers to distributed systems. In this talk, you'll learn how Netflix uses Reactive programming to build and consume REST endpoints. You'll also learn how to Netflix works around the limitations of the HTTP protocol to create high-performance REST APIs.
-
Functional Programming in JS w focus on Reactive Programming (Rx in JS)
Location:Seacliff DDuration:Full DayAbstract: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 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 UI's 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 (Rx) library (https://rx.codeplex.com/) which allows us to treat events as collections. You'll learn patterns you can use on both the client and the server, allowing you to build end-to-end reactive systems.