Files
react/docs/videos.html
T
Paul O’Shannessy 63dff641cf Update website
2016-03-21 11:28:34 -07:00

607 lines
25 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Videos | React</title>
<meta name="viewport" content="width=device-width">
<meta property="og:title" content="Videos | React">
<meta property="og:type" content="website">
<meta property="og:url" content="https://facebook.github.io/react/docs/videos.html">
<meta property="og:image" content="https://facebook.github.io/react/img/logo_og.png">
<meta property="og:description" content="A JavaScript library for building user interfaces">
<meta property="fb:app_id" content="623268441017527">
<link rel="shortcut icon" href="/react/favicon.ico">
<link rel="alternate" type="application/rss+xml" title="React" href="https://facebook.github.io/react/feed.xml">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css" />
<link rel="stylesheet" href="/react/css/syntax.css">
<link rel="stylesheet" href="/react/css/codemirror.css">
<link rel="stylesheet" href="/react/css/react.css">
<script src="//use.typekit.net/vqa1hcx.js"></script>
<script>try{Typekit.load();}catch(e){}</script>
<!--[if lte IE 8]>
<script src="/react/js/html5shiv.min.js"></script>
<script src="/react/js/es5-shim.min.js"></script>
<script src="/react/js/es5-sham.min.js"></script>
<![endif]-->
<script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script>
<script src="/react/js/codemirror.js"></script>
<script src="/react/js/javascript.js"></script>
<script src="/react/js/react.js"></script>
<script src="/react/js/react-dom.js"></script>
<script src="/react/js/babel-browser.min.js"></script>
<script src="/react/js/live_editor.js"></script>
</head>
<body>
<div class="container">
<div class="nav-main">
<div class="wrap">
<a class="nav-home" href="/react/index.html">
<img class="nav-logo" src="/react/img/logo.svg" width="36" height="36">
React
</a>
<ul class="nav-site nav-site-internal">
<li><a href="/react/docs/getting-started.html" class="active">Docs</a></li>
<li><a href="/react/support.html">Support</a></li>
<li><a href="/react/downloads.html">Download</a></li>
<li><a href="/react/blog/">Blog</a></li>
<li>
<input id="algolia-doc-search" type="text" placeholder="Search docs..." />
</li>
</ul>
<ul class="nav-site nav-site-external">
<li><a href="https://github.com/facebook/react">GitHub</a></li>
<li><a href="https://facebook.github.io/react-native/">React Native</a></li>
</ul>
</div>
</div>
<section class="content wrap documentationContent">
<div class="nav-docs">
<!-- Docs Nav -->
<div class="nav-docs-section">
<h3>Quick Start</h3>
<ul>
<li>
<a href="/react/docs/getting-started.html">Getting Started</a>
</li>
<li>
<a href="/react/docs/tutorial.html">Tutorial</a>
</li>
<li>
<a href="/react/docs/thinking-in-react.html">Thinking in React</a>
</li>
</ul>
</div>
<div class="nav-docs-section">
<h3>Community Resources</h3>
<ul>
<li>
<a href="/react/docs/conferences.html">Conferences</a>
</li>
<li>
<a href="/react/docs/videos.html" class="active">Videos</a>
</li>
<li>
<a href="https://github.com/facebook/react/wiki/Complementary-Tools" class="external">Complementary Tools</a>
</li>
<li>
<a href="https://github.com/facebook/react/wiki/Examples" class="external">Examples</a>
</li>
</ul>
</div>
<div class="nav-docs-section">
<h3>Guides</h3>
<ul>
<li>
<a href="/react/docs/why-react.html">Why React?</a>
</li>
<li>
<a href="/react/docs/displaying-data.html">Displaying Data</a>
<ul>
<li>
<a href="/react/docs/jsx-in-depth.html">JSX in Depth</a>
</li>
<li>
<a href="/react/docs/jsx-spread.html">JSX Spread Attributes</a>
</li>
<li>
<a href="/react/docs/jsx-gotchas.html">JSX Gotchas</a>
</li>
</ul>
</li>
<li>
<a href="/react/docs/interactivity-and-dynamic-uis.html">Interactivity and Dynamic UIs</a>
</li>
<li>
<a href="/react/docs/multiple-components.html">Multiple Components</a>
</li>
<li>
<a href="/react/docs/reusable-components.html">Reusable Components</a>
</li>
<li>
<a href="/react/docs/transferring-props.html">Transferring Props</a>
</li>
<li>
<a href="/react/docs/forms.html">Forms</a>
</li>
<li>
<a href="/react/docs/working-with-the-browser.html">Working With the Browser</a>
<ul>
<li>
<a href="/react/docs/more-about-refs.html">Refs to Components</a>
</li>
</ul>
</li>
<li>
<a href="/react/docs/tooling-integration.html">Tooling Integration</a>
</li>
<li>
<a href="/react/docs/addons.html">Add-Ons</a>
<ul>
<li>
<a href="/react/docs/animation.html">Animation</a>
</li>
<li>
<a href="/react/docs/two-way-binding-helpers.html">Two-Way Binding Helpers</a>
</li>
<li>
<a href="/react/docs/test-utils.html">Test Utilities</a>
</li>
<li>
<a href="/react/docs/clone-with-props.html">Cloning Elements</a>
</li>
<li>
<a href="/react/docs/create-fragment.html">Keyed Fragments</a>
</li>
<li>
<a href="/react/docs/update.html">Immutability Helpers</a>
</li>
<li>
<a href="/react/docs/pure-render-mixin.html">PureRenderMixin</a>
</li>
<li>
<a href="/react/docs/perf.html">Performance Tools</a>
</li>
<li>
<a href="/react/docs/shallow-compare.html">Shallow Compare</a>
</li>
</ul>
</li>
<li>
<a href="/react/docs/advanced-performance.html">Advanced Performance</a>
</li>
<li>
<a href="/react/docs/context.html">Context</a>
</li>
</ul>
</div>
<div class="nav-docs-section">
<h3>Reference</h3>
<ul>
<li>
<a href="/react/docs/top-level-api.html">Top-Level API</a>
</li>
<li>
<a href="/react/docs/component-api.html">Component API</a>
</li>
<li>
<a href="/react/docs/component-specs.html">Component Specs and Lifecycle</a>
</li>
<li>
<a href="/react/docs/tags-and-attributes.html">Supported Tags and Attributes</a>
</li>
<li>
<a href="/react/docs/events.html">Event System</a>
</li>
<li>
<a href="/react/docs/dom-differences.html">DOM Differences</a>
</li>
<li>
<a href="/react/docs/special-non-dom-attributes.html">Special Non-DOM Attributes</a>
</li>
<li>
<a href="/react/docs/reconciliation.html">Reconciliation</a>
</li>
<li>
<a href="/react/docs/webcomponents.html">Web Components</a>
</li>
<li>
<a href="/react/docs/glossary.html">React (Virtual) DOM Terminology</a>
</li>
</ul>
</div>
<div class="nav-docs-section">
<h3>Flux</h3>
<ul>
<li>
<a href="https://facebook.github.io/flux/docs/overview.html" class="external">Flux Overview</a>
</li>
<li>
<a href="https://facebook.github.io/flux/docs/todo-list.html" class="external">Flux TodoMVC Tutorial</a>
</li>
</ul>
</div>
<!-- Tips Nav -->
<div class="nav-docs-section">
<h3>Tips</h3>
<ul>
<li>
<a href="/react/tips/introduction.html">Introduction</a>
</li>
<li>
<a href="/react/tips/inline-styles.html">Inline Styles</a>
</li>
<li>
<a href="/react/tips/if-else-in-JSX.html">If-Else in JSX</a>
</li>
<li>
<a href="/react/tips/self-closing-tag.html">Self-Closing Tag</a>
</li>
<li>
<a href="/react/tips/maximum-number-of-jsx-root-nodes.html">Maximum Number of JSX Root Nodes</a>
</li>
<li>
<a href="/react/tips/style-props-value-px.html">Shorthand for Specifying Pixel Values in style props</a>
</li>
<li>
<a href="/react/tips/children-props-type.html">Type of the Children props</a>
</li>
<li>
<a href="/react/tips/controlled-input-null-value.html">Value of null for Controlled Input</a>
</li>
<li>
<a href="/react/tips/componentWillReceiveProps-not-triggered-after-mounting.html">componentWillReceiveProps Not Triggered After Mounting</a>
</li>
<li>
<a href="/react/tips/props-in-getInitialState-as-anti-pattern.html">Props in getInitialState Is an Anti-Pattern</a>
</li>
<li>
<a href="/react/tips/dom-event-listeners.html">DOM Event Listeners in a Component</a>
</li>
<li>
<a href="/react/tips/initial-ajax.html">Load Initial Data via AJAX</a>
</li>
<li>
<a href="/react/tips/false-in-jsx.html">False in JSX</a>
</li>
<li>
<a href="/react/tips/communicate-between-components.html">Communicate Between Components</a>
</li>
<li>
<a href="/react/tips/expose-component-functions.html">Expose Component Functions</a>
</li>
<li>
<a href="/react/tips/children-undefined.html">this.props.children undefined</a>
</li>
<li>
<a href="/react/tips/use-react-with-other-libraries.html">Use React with Other Libraries</a>
</li>
<li>
<a href="/react/tips/dangerously-set-inner-html.html">Dangerously Set innerHTML</a>
</li>
</ul>
</div>
</div>
<div class="inner-content">
<h1>
Videos
<a class="edit-page-link" href="https://github.com/facebook/react/tree/master/docs/docs/videos.md" target="_blank">Edit on GitHub</a>
</h1>
<div class="subHeader"></div>
<h3><a class="anchor" name="rethinking-best-practices---jsconf.eu"></a>Rethinking best practices - JSConf.eu <a class="hash-link" href="#rethinking-best-practices---jsconf.eu">#</a></h3>
<iframe width="650" height="366" src="https://www.youtube-nocookie.com/embed/x7cQ3mrcKaY" frameborder="0" allowfullscreen></iframe>
<p>&quot;At Facebook and Instagram, were trying to push the limits of whats possible on the web with React. My talk will start with a brief introduction to the framework, and then dive into three controversial topics: Throwing out the notion of templates and building views with JavaScript, “re-rendering” your entire application when your data changes, and a lightweight implementation of the DOM and events.&quot; -- <a href="http://www.petehunt.net/">Pete Hunt</a></p>
<hr>
<h3><a class="anchor" name="thinking-in-react---tagtree.tv"></a>Thinking in react - tagtree.tv <a class="hash-link" href="#thinking-in-react---tagtree.tv">#</a></h3>
<p>A <a href="http://tagtree.tv/">tagtree.tv</a> video conveying the principles of <a href="/react/docs/thinking-in-react.html">Thinking in React</a> while building a simple app
<figure><a href="http://tagtree.tv/thinking-in-react"><img src="/react/img/docs/thinking-in-react-tagtree.png" alt=""></a></figure></p>
<hr>
<h3><a class="anchor" name="secrets-of-the-virtual-dom---mtnwest-js"></a>Secrets of the Virtual DOM - MtnWest JS <a class="hash-link" href="#secrets-of-the-virtual-dom---mtnwest-js">#</a></h3>
<iframe width="650" height="366" src="https://www.youtube-nocookie.com/embed/h3KksH8gfcQ" frameborder="0" allowfullscreen></iframe>
<p>&quot;In this talk Ill be discussing why we built a virtual DOM, how it compares to other systems, and its relevance to the future of browser technologies.&quot; -- <a href="http://www.petehunt.net/">Pete Hunt</a></p>
<hr>
<h3><a class="anchor" name="going-big-with-react"></a>Going big with React <a class="hash-link" href="#going-big-with-react">#</a></h3>
<p>&quot;On paper, all those JS frameworks look promising: clean implementations, quick code design, flawless execution. But what happens when you stress test Javascript? What happens when you throw 6 megabytes of code at it? In this talk, we&#39;ll investigate how React performs in a high stress situation, and how it has helped our team build safe code on a massive scale.&quot;
<figure><a href="https://skillsmatter.com/skillscasts/5429-going-big-with-react#video"><img src="https://i.vimeocdn.com/video/481670116_650.jpg" alt=""></a></figure></p>
<hr>
<h3><a class="anchor" name="codewinds"></a>CodeWinds <a class="hash-link" href="#codewinds">#</a></h3>
<p><a href="http://www.petehunt.net/">Pete Hunt</a> talked with <a href="http://jeff.barczewski.com/">Jeff Barczewski</a> about React in CodeWinds Episode 4.
<figure><a href="http://codewinds.com/4"><img src="/react/img/docs/codewinds-004.png" alt=""></a></figure></p>
<table width="100%"><tr><td>
02:08 - What is React and why use it?<br />
03:08 - The symbiotic relationship of ClojureScript and React<br />
04:54 - The history of React and why it was created<br />
09:43 - Updating web page with React without using data binding<br />
13:11 - Using the virtual DOM to change the browser DOM<br />
13:57 - Programming with React, render targets HTML, canvas, other<br />
16:45 - Working with designers. Contrasted with Ember and AngularJS<br />
21:45 - JSX Compiler bridging HTML and React javascript<br />
23:50 - Autobuilding JSX and in browser tools for React<br />
24:50 - Tips and tricks to working with React, getting started<br />
</td><td>
27:17 - Rendering HTML on the server with Node.js. Rendering backends<br />
29:20 - React evolved through survival of the fittest at Facebook<br />
30:15 - Ideas for having state on server and client, using web sockets.<br />
32:05 - React-multiuser - distributed shared mutable state using Firebase<br />
33:03 - Better debugging with React using the state transitions, replaying events<br />
34:08 - Differences from Web Components<br />
34:25 - Notable companies using React<br />
35:16 - Could a React backend plugin be created to target PDF?<br />
36:30 - Future of React, what's next?<br />
39:38 - Contributing and getting help<br />
</td></tr></table>
<p><a href="http://codewinds.com/4">Read the episode notes</a></p>
<hr>
<h3><a class="anchor" name="javascript-jabber"></a>JavaScript Jabber <a class="hash-link" href="#javascript-jabber">#</a></h3>
<p><a href="http://www.petehunt.net/">Pete Hunt</a> and <a href="https://github.com/jordwalke">Jordan Walke</a> talked about React in JavaScript Jabber 73.
<figure><a href="http://javascriptjabber.com/073-jsj-react-with-pete-hunt-and-jordan-walke/#content"><img src="/react/img/docs/javascript-jabber.png" alt=""></a></figure></p>
<table width="100%"><tr><td>
01:34 Pete Hunt Introduction<br />
02:45 Jordan Walke Introduction<br />
04:15 React<br />
06:38 60 Frames Per Second<br />
09:34 Data Binding<br />
12:31 Performance<br />
17:39 Diffing Algorithm<br />
19:36 DOM Manipulation
</td><td>
23:06 Supporting node.js<br />
24:03 rendr<br />
26:02 JSX<br />
30:31 requestAnimationFrame<br />
34:15 React and Applications<br />
38:12 React Users Khan Academy<br />
39:53 Making it work
</td></tr></table>
<p><a href="http://javascriptjabber.com/073-jsj-react-with-pete-hunt-and-jordan-walke/">Read the full transcript</a></p>
<hr>
<h3><a class="anchor" name="introduction-to-react.js---facebook-seattle"></a>Introduction to React.js - Facebook Seattle <a class="hash-link" href="#introduction-to-react.js---facebook-seattle">#</a></h3>
<iframe width="650" height="366" src="https://www.youtube-nocookie.com/embed/XxVg_s8xAms" frameborder="0" allowfullscreen></iframe>
<p>By <a href="http://tomocchino.com/">Tom Occhino</a> and <a href="https://github.com/jordwalke">Jordan Walke</a></p>
<hr>
<h3><a class="anchor" name="backbone--react--middleman-screencast"></a>Backbone + React + Middleman Screencast <a class="hash-link" href="#backbone--react--middleman-screencast">#</a></h3>
<iframe width="650" height="488" src="https://www.youtube-nocookie.com/embed/iul1fWHVU6A" frameborder="0" allowfullscreen></iframe>
<p>Backbone is a great way in interface a REST API with React. This screencast shows how to integrate the two using <a href="https://github.com/magalhas/backbone-react-component">Backbone-React-Component</a>. Middleman is the framework used in this example but could easily be replaced with other frameworks. A supported template of this can be found <a href="https://github.com/jbhatab/middleman-backbone-react-template">here</a>. -- <a href="http://www.openmindedinnovations.com/">Open Minded Innovations</a></p>
<hr>
<h3><a class="anchor" name="developing-user-interfaces-with-react---super-vanjs"></a>Developing User Interfaces With React - Super VanJS <a class="hash-link" href="#developing-user-interfaces-with-react---super-vanjs">#</a></h3>
<iframe width="650" height="366" src="https://www.youtube-nocookie.com/embed/1OeXsL5mr4g" frameborder="0" allowfullscreen></iframe>
<p>By <a href="https://github.com/steveluscher">Steven Luscher</a></p>
<hr>
<h3><a class="anchor" name="introduction-to-react---lawebspeed-meetup"></a>Introduction to React - LAWebSpeed meetup <a class="hash-link" href="#introduction-to-react---lawebspeed-meetup">#</a></h3>
<iframe width="650" height="366" src="https://www.youtube-nocookie.com/embed/SMMRJif5QW0" frameborder="0" allowfullscreen></iframe>
<p>by <a href="http://www.phpied.com/">Stoyan Stefanov</a></p>
<hr>
<h3><a class="anchor" name="react-or-how-to-make-life-simpler---frontend-dev-conf-14"></a>React, or how to make life simpler - FrontEnd Dev Conf &#39;14 <a class="hash-link" href="#react-or-how-to-make-life-simpler---frontend-dev-conf-14">#</a></h3>
<iframe width="650" height="366" src="https://www.youtube-nocookie.com/embed/YJNUK0EA_Jo" frameborder="0" allowfullscreen></iframe>
<p><strong>In Russian</strong> by <a href="http://solovyov.net/">Alexander Solovyov</a></p>
<hr>
<h3><a class="anchor" name="functional-dom-programming---meteor-devshop-11"></a>&quot;Functional DOM programming&quot; - Meteor DevShop 11 <a class="hash-link" href="#functional-dom-programming---meteor-devshop-11">#</a></h3>
<iframe width="650" height="366" src="https://www.youtube-nocookie.com/embed/qqVbr_LaCIo" frameborder="0" allowfullscreen></iframe>
<hr>
<h3><a class="anchor" name="rethinking-web-app-development-at-facebook---facebook-f8-conference-2014"></a>&quot;Rethinking Web App Development at Facebook&quot; - Facebook F8 Conference 2014 <a class="hash-link" href="#rethinking-web-app-development-at-facebook---facebook-f8-conference-2014">#</a></h3>
<iframe width="650" height="366" src="https://www.youtube-nocookie.com/embed/nYkdrAPrdcw" frameborder="0" allowfullscreen></iframe>
<hr>
<h3><a class="anchor" name="react-and-flux-building-applications-with-a-unidirectional-data-flow---forward-js-2014"></a>React and Flux: Building Applications with a Unidirectional Data Flow - Forward JS 2014 <a class="hash-link" href="#react-and-flux-building-applications-with-a-unidirectional-data-flow---forward-js-2014">#</a></h3>
<iframe width="650" height="366" src="https://www.youtube-nocookie.com/embed/i__969noyAM" frameborder="0" allowfullscreen></iframe>
<p>Facebook engineers <a href="https://twitter.com/fisherwebdev">Bill Fisher</a> and <a href="https://twitter.com/jingc">Jing Chen</a> talk about Flux and React, and how using an application architecture with a unidirectional data flow cleans up a lot of their code.</p>
<hr>
<h3><a class="anchor" name="server-side-rendering-of-isomorphic-apps-at-soundcloud"></a>Server-Side Rendering of Isomorphic Apps at SoundCloud <a class="hash-link" href="#server-side-rendering-of-isomorphic-apps-at-soundcloud">#</a></h3>
<iframe src="https://player.vimeo.com/video/108488724" width="650" height="365" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
<p>Walk-through by <a href="https://github.com/zertosh">Andres Suarez</a> on how <a href="https://developers.soundcloud.com/blog/">SoundCloud</a> is using React and Flux for server-side rendering.</p>
<p><a href="https://github.com/zertosh/ssr-demo-kit">Slides and sample code</a></p>
<hr>
<h3><a class="anchor" name="introducing-react-native-playlist---react.js-conf-2015"></a>Introducing React Native (+Playlist) - React.js Conf 2015 <a class="hash-link" href="#introducing-react-native-playlist---react.js-conf-2015">#</a></h3>
<iframe width="650" height="366" src="https://www.youtube-nocookie.com/embed/KVZ-P-ZI6W4?list=PLb0IAmt7-GS1cbw4qonlQztYV1TAW0sCr" frameborder="0" allowfullscreen></iframe>
<p><a href="https://twitter.com/tomocchino">Tom Occhino</a> reviews the past and present of React in 2015, and teases where it&#39;s going next.</p>
<div class="docs-prevnext">
<a class="docs-prev" href="/react/docs/conferences.html">&larr; Prev</a>
<a class="docs-next" href="/react/docs/complementary-tools.html">Next &rarr;</a>
</div>
</div>
</section>
<footer class="wrap">
<div class="left">
A Facebook &amp; Instagram collaboration.<br>
<a href="/react/acknowledgements.html">Acknowledgements</a>
</div>
<div class="right">
&copy; 2013&ndash;2016 Facebook Inc.<br>
Documentation licensed under <a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.
</div>
</footer>
</div>
<div id="fb-root"></div>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-41298772-1', 'facebook.github.io');
ga('send', 'pageview');
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="https://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=623268441017527";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
docsearch({
apiKey: '36221914cce388c46d0420343e0bb32e',
indexName: 'react',
inputSelector: '#algolia-doc-search'
});
</script>
</body>
</html>