HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Netflix JavaScript Talks - Async JavaScript with Reactive Extensions

Matt Marenghi5 HN recommenders · recommended in 4 months, 2014-2016
YouTube
69K views · 12 years ago · talk · dated

A Netflix JavaScript talk on using Reactive Extensions (Rx) for asynchronous UI code. It covers Observables, composing events such as drag and drop, and sequencing Ajax requests.

Recommended as a clear, mind-changing introduction to observables and async programming from engineers using Rx in production.

Web developmentFunctional programming#rxjs#observables#asyncjavascript#netflix#reactiveextensions

9 comments from Hacker News

@sktrdie2016 · in “Async and Await”

I don't really like await . It seems to be a syntactical fix which acts in a quite magical way. Not sure if introducing magic to a language syntax is what we want. Rather, we should think about data flow of our async apps differently. I believe Observables are the future of async code. Once you grasp the concept that everything in your app can be transformed into streams of events, and you work with these events using chains of .map(), .filter(), .reduce(), etc. you'll grasp the true power of this paradigm and how well it fits async and/or concurrent apps. I suggest anybody that doesn't quite swallow the await syntax, to have a look at this presentation about Observables at Netflix as it's quite mind changing: ▶ this video

Strongly recommendsView on HN
@RobertKerans2015 · in “Mostly Adequate Guide to Functional Programming in JavaScript”

I assume you use SQL or similar? It's not exactly Haskell-level functional, but still, you're probably already using functional paradigms. In the case of JS, using functional techniques simplifies the code quite substantially. Testing becomes easier. Immutable data can be much easier to reason about. It's often orthogonal to OOP, functional techniques in the small, OOP to structure in the large. FRP is very useful for interactions front-end (form validation for example), but also is just all-round terrific for message passing. Recursion is ideal for certain scenarios. If you take something like handling errors, an example would be the way promises deal with them, with the ability to collect at the end of the chain, or deal on a case-by-case basis. I'm just listing stuff off the top of my head; with a general-purpose language [with the option of different paradigms] it's not so much a case of 'build a web app', it's more 'if you use these techniques, you may well find that your code is easier to reason about'. I think the metaphor I like is that with FP it's as if you have an assembly line of functions, and you pass your data down the line, with each function transforming in turn; each function can easily be ripped out and/or replaced and tested. There are multiple downsides and pitfalls - overly abstracted code being a very common one, but as a general approach it's often extremely useful. Books maybe worth a flick through (tried to pick stuff that is less...abstract, & I hav

CitesView on HN
@staltz2015 · in “Pseudosynchronous JavaScript”

With RxJS, you can compose with existing Promise-based libraries, solve asynchronous programming (and error handling) in an elegant fashion with code that looks like simple linear chains (or DAGs) of Observables, and you don't need to give up non-blocking JS. ▶ this video

CitesView on HN
@sriku2014 · in “My Golang UI package: lessons learned about threading and plans for the future”

Yes I meant what "Reactive Extensions" does. Should've been clearer that it was a reference to "functional reactive programming" and not a specific library. edit: "Async Javascript at Netflix" is a great talk on this - ▶ this video

RecommendsView on HN
@mattpodwysocki2014 · in “An Introduction to Reactive Programming”

Why not try watching the video from Jafar Husain, a tech lead from Netflix, talk about Async JavaScript at Netflix which uses RxJS to explain these concepts? ▶ this video

RecommendsView on HN
@mattpodwysocki2014 · in “An Introduction to Reactive Programming”

It's not a fad at all, with Netflix and other companies using Rx in all flavors on their platforms. See this video from Jafar Husain, a tech lead at Netflix, talk about how they use RxJS at Netflix: ▶ this video

RecommendsView on HN
@shaydoc2014 · in “Erik Meijer: Duality and the End of Reactive [video]”

i thought it was a good presentation, however, I recently watched a Netflix one, published by Matt Marenghi, which to me was infinitely better. I think the description of events as just another collection, albeit a time based collection flow was nicer ( Observable === Collection + Time ), and also that this collection must have the ability to tell you that it has terminated. ▶ this video

RecommendsView on HN
@film422014 · in “Asynchronous JavaScript at Netflix”

The conf talk on youtube by Matt Marenghi [linked in the post] is really awesome. Provides great examples and resources. Really worth 28-min. Direct Link: ▶ this video

Strongly recommendsView on HN
@joubert2014 · in “Ask HN: Who is hiring? (April 2014)”

Netflix. We are reinventing how people watch television. My team is a group of seasoned engineers that craft JavaScript-based UI's for the living room. You will architect and develop user experiences that will reach millions of customers worldwide on PlayStation 3, PlayStation 4, Xbox360, Apple TV, Chromecast, Roku, and hundreds of Smart TVs and Blu-ray players. You can read more about our flagship UI here: link And here are some articles/videos where we've talked about our technical work: * Building the New Netflix Experience for TV link * WebKit in Your Living Room link * Recent Reactive JavaScript programming event: ▶ this video * Building the Netflix UI for WiiU link Message me if you want to know more.

CitesView on HN
Keynote - JSON Graph: Reactive REST at Netflix54:58

Keynote - JSON Graph: Reactive REST at Netflix

Association for Computing Machinery (ACM)
41K views • 11 years ago
React.js Conf 2015 - Beyond the DOM: How Netflix plans to enhance your television experience25:55

React.js Conf 2015 - Beyond the DOM: How Netflix plans to enhance your television experience

Meta Developers
26K views • 11 years ago
Dan Abramov: Beyond React 16 | JSConf Iceland33:25

Dan Abramov: Beyond React 16 | JSConf Iceland

JSConf
139K views • 8 years ago
ReactiveConf 2017 - Tom Dale: Secrets of the Glimmer VM33:23

ReactiveConf 2017 - Tom Dale: Secrets of the Glimmer VM

ReactiveConf
3K views • 8 years ago
ClojureScript in the Age of TypeScript — David Nolen59:31

ClojureScript in the Age of TypeScript — David Nolen

ChariotSolutions
29K views • 5 years ago
Lin Clark - A Cartoon Intro to Fiber - React Conf 201731:48

Lin Clark - A Cartoon Intro to Fiber - React Conf 2017

Meta Developers
216K views • 9 years ago
Keynote: The Road To LiveView 1.0 by Chris McCord | ElixirConf EU 20231:05:33

Keynote: The Road To LiveView 1.0 by Chris McCord | ElixirConf EU 2023

Code Sync
27K views • 3 years ago
What the heck is the event loop anyway? | Philip Roberts | JSConf EU26:53

What the heck is the event loop anyway? | Philip Roberts | JSConf EU

JSConf
3.8M views • 12 years ago
Hey Underscore, You're Doing It Wrong!36:31

Hey Underscore, You're Doing It Wrong!

InfoQ
141K views • 13 years ago
ElixirConf 2018 - Keynote - Chris McCord57:50

ElixirConf 2018 - Keynote - Chris McCord

ElixirConf
32K views • 8 years ago
Modeling Data Concurrency w/ Asynchronous I/O in Zig - RedisConf 202049:20

Modeling Data Concurrency w/ Asynchronous I/O in Zig - RedisConf 2020

Redis
11K views • 6 years ago
React Helsinki February 20201:16:07

React Helsinki February 2020

Fraktio
42K views • 6 years ago
Web Development in Emacs, Common Lisp and Clojurescript - Emacs SG1:18:42

Web Development in Emacs, Common Lisp and Clojurescript - Emacs SG

Engineers.SG
14K views • 10 years ago
Build a real-time Twitter clone in 15 minutes with LiveView and Phoenix 1.517:55

Build a real-time Twitter clone in 15 minutes with LiveView and Phoenix 1.5

Chris McCord
237K views • 6 years ago
"Controlling Time and Space: understanding the many formulations of FRP" by Evan Czaplicki40:55

"Controlling Time and Space: understanding the many formulations of FRP" by Evan Czaplicki

Strange Loop Conference
69K views • 12 years ago
Chris McCord - Keynote: Phoenix LiveView - Interactive Apps without Javascript - ElixirConf EU 20191:12:41

Chris McCord - Keynote: Phoenix LiveView - Interactive Apps without Javascript - ElixirConf EU 2019

Code Sync
47K views • 7 years ago
ClojureScript for Skeptics - Derek Slager41:09

ClojureScript for Skeptics - Derek Slager

ClojureTV
72K views • 10 years ago
Build Your Own Async2:12:42

Build Your Own Async

David Beazley
60K views • 7 years ago
Om Next - David Nolen46:18

Om Next - David Nolen

ClojureTV
44K views • 11 years ago
How Netflix Uses Java - 2025 Edition47:43

How Netflix Uses Java - 2025 Edition

Java
300K views • 1 year ago