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

Meta Developers2 HN recommenders · 2015–2017
26K views · talk · dated · Uploaded 2015-02-04

Jafar Husain of Netflix explains at React.js Conf 2015 how Netflix runs React-style rendering without the DOM on smart TVs and game consoles. It uses a canvas-like API for performance.

Cited as the primary source on React with a custom rendering backend and on Netflix's Gibbon engine.

Watch on YouTube

6 comments from Hacker News

@peterhunt2015 · in “First Impressions Using React Native”

If you're interested in doing it with React, here's a video explaining how to do a custom backend: [VIDEO] You basically need to change BackendIDOperations and ReactEventListener to send/receive messages vs talking to the real APIs. It's already set up in the codebase to do this (because it actually worked at one time). Webpack, per usual, already thought of this and has an answer for you :) [LINK]

RecommendsView on HN
@mjjohnston2015 · in “Flipboard releases React Canvas”

It's worth mentioning that much of the code that integrates with React internals is based on the work in react-art: [LINK] This is the same technique used by Netflix for their React-based television UI. [VIDEO]

@mikeryan2015 · in “Is ReactJS really fast?”

There's an interesting video by Netflix where they discuss using React in their stack. To increase performance on many of Netflix's TV or Console based UI's they have their own rendering engine they're using instead of the manufacturer's browser engine. This means any of React's "speed" improvements are a moot point so instead they use it because of its simplicity for UI layouts. [VIDEO]

RecommendsView on HN
@mikeryan2015 · in “A View of the Entire Netflix Stack”

Picking a nit, they don't use React in the browser across all devices. They actually use an internal rendering engine called Gibbon on some devices with client code written JavaScript with React but not rendering to HTML or a browser instead using their internal engine. Interestingly this has become easier with React breaking out React and ReactDOM. Interesting to note that Netflix must see Gibbon as a competitive advantage, I've been told its not likely to see an open source release. [VIDEO]

@zappo29382017 · in “The Cost of Native Mobile App Development Is Too Damn High”

Sorry. I was under the impression after watching this video Netflix was using React across all devices. [0] [0] [VIDEO]

@sscotth2017 · in “JavaScript once had a JSX-like syntax called E4X”

Its also important to consider the environment as well since JSX is potentially much bigger than the web. JSX is much like other generic user interface markup languages[0] and like many other is simply a dialect of XML. Any interface that can be represented with XML/HTML or any other markup language can use JSX and optionally react. We are already seeing this boom with in native mobile environments with React Native, NativeScript, Titanium... Here are several examples where JSX is used that is not a browser: - Native desktop apps for Linux, Mac, and Windows (Not including Electron/NW.js)[1][2][3][4] - TVs with AppleTV apps or Netflix's Gibbon[5][6] - Command line apps as stdin/stdout with react-blessed[7]/mylittledom[8] - Direct to Canvas[9]/pixi.js[10] - Latex documents[11] - Web Audio[12] - Conole.logs[13] - Truly custom direct to hardware[14] as some C code like: `digitalWrite(led, HIGH)` I definitely believe JSX could use standardization separate from any implementation, JavaScript or otherwise. [0]: [LINK] [1]: [LINK] [2]: [LINK] [3]: [LINK] [4]: [LINK] [5]: [LINK] [6]: [VIDEO] [7]: [LINK] [8]: [LINK] [9]: [LINK] [10]: [LINK] [11]: [LINK] [12]: [LINK] [13]: [LINK] [14]: [LINK]