Skip to content

Commit

Permalink
Community Roundup #4
Browse files Browse the repository at this point in the history
  • Loading branch information
zpao committed Jul 4, 2013
1 parent aa7ea06 commit 688c56d
Show file tree
Hide file tree
Showing 12 changed files with 298 additions and 0 deletions.
2 changes: 2 additions & 0 deletions blog/2013/06/02/jsfiddle-integration.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@
<h3>Recent posts</h3>
<ul>

<li><a href="/react/blog/2013/07/03/community-roundup-4.html">Community Round-up #4</a></li>

<li><a href="/react/blog/2013/07/02/react-v0-4-autobind-by-default.html">New in React v0.4: Autobind by Default</a></li>

<li><a href="/react/blog/2013/06/27/community-roundup-3.html">Community Round-up #3</a></li>
Expand Down
2 changes: 2 additions & 0 deletions blog/2013/06/05/why-react.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@
<h3>Recent posts</h3>
<ul>

<li><a href="/react/blog/2013/07/03/community-roundup-4.html">Community Round-up #4</a></li>

<li><a href="/react/blog/2013/07/02/react-v0-4-autobind-by-default.html">New in React v0.4: Autobind by Default</a></li>

<li><a href="/react/blog/2013/06/27/community-roundup-3.html">Community Round-up #3</a></li>
Expand Down
2 changes: 2 additions & 0 deletions blog/2013/06/12/community-roundup.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@
<h3>Recent posts</h3>
<ul>

<li><a href="/react/blog/2013/07/03/community-roundup-4.html">Community Round-up #4</a></li>

<li><a href="/react/blog/2013/07/02/react-v0-4-autobind-by-default.html">New in React v0.4: Autobind by Default</a></li>

<li><a href="/react/blog/2013/06/27/community-roundup-3.html">Community Round-up #3</a></li>
Expand Down
2 changes: 2 additions & 0 deletions blog/2013/06/19/community-roundup-2.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@
<h3>Recent posts</h3>
<ul>

<li><a href="/react/blog/2013/07/03/community-roundup-4.html">Community Round-up #4</a></li>

<li><a href="/react/blog/2013/07/02/react-v0-4-autobind-by-default.html">New in React v0.4: Autobind by Default</a></li>

<li><a href="/react/blog/2013/06/27/community-roundup-3.html">Community Round-up #3</a></li>
Expand Down
2 changes: 2 additions & 0 deletions blog/2013/06/21/react-v0-3-3.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@
<h3>Recent posts</h3>
<ul>

<li><a href="/react/blog/2013/07/03/community-roundup-4.html">Community Round-up #4</a></li>

<li><a href="/react/blog/2013/07/02/react-v0-4-autobind-by-default.html">New in React v0.4: Autobind by Default</a></li>

<li><a href="/react/blog/2013/06/27/community-roundup-3.html">Community Round-up #3</a></li>
Expand Down
2 changes: 2 additions & 0 deletions blog/2013/06/27/community-roundup-3.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@
<h3>Recent posts</h3>
<ul>

<li><a href="/react/blog/2013/07/03/community-roundup-4.html">Community Round-up #4</a></li>

<li><a href="/react/blog/2013/07/02/react-v0-4-autobind-by-default.html">New in React v0.4: Autobind by Default</a></li>

<li><a href="/react/blog/2013/06/27/community-roundup-3.html" class="active">Community Round-up #3</a></li>
Expand Down
2 changes: 2 additions & 0 deletions blog/2013/07/02/react-v0-4-autobind-by-default.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@
<h3>Recent posts</h3>
<ul>

<li><a href="/react/blog/2013/07/03/community-roundup-4.html">Community Round-up #4</a></li>

<li><a href="/react/blog/2013/07/02/react-v0-4-autobind-by-default.html" class="active">New in React v0.4: Autobind by Default</a></li>

<li><a href="/react/blog/2013/06/27/community-roundup-3.html">Community Round-up #3</a></li>
Expand Down
189 changes: 189 additions & 0 deletions blog/2013/07/03/community-roundup-4.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>React | Community Round-up #4</title>
<meta name="viewport" content="width=device-width">
<meta property="og:title" content="React | Community Round-up #4" />
<meta property="og:type" content="website" />
<meta property="og:url" content="http://facebook.github.io/react/blog/2013/07/03/community-roundup-4.html" />
<meta property="og:image" content="http://facebook.github.io/react/img/logo_og.png" />
<meta property="og:description" content="A JavaScript library for building user interfaces" />

<link rel="shortcut icon" href="/react/favicon.ico">
<link rel="alternate" type="application/rss+xml" title="React" href="http://facebook.github.io/react/feed.xml">

<link rel="stylesheet" href="/react/css/react.css">
<link rel="stylesheet" href="/react/css/syntax.css">
<link rel="stylesheet" href="/react/css/codemirror.css">

<script type="text/javascript" src="//use.typekit.net/vqa1hcx.js"></script>
<script type="text/javascript">try{Typekit.load();}catch(e){}</script>

<script type="text/javascript" src="/react/js/codemirror.js"></script>
<script type="text/javascript" src="/react/js/javascript.js"></script>
<script type="text/javascript" src="/react/js/react.min.js"></script>
<script type="text/javascript" src="/react/js/JSXTransformer.js"></script>
<script type="text/javascript" src="/react/js/live_editor.js"></script>
<script type="text/javascript" src="/react/js/showdown.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" alt="" src="/react/img/logo_small.png" width="38" height="38">
React
</a>
<ul class="nav-site">
<li><a href="/react/docs/getting-started.html">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/" class="active">blog</a></li>
<li><a href="http://github.com/facebook/react">github</a>
</ul>
<!-- <iframe src="http://ghbtns.com/github&#45;btn.html?user=facebook&#38;repo=react.js&#38;type=fork"allowtransparency="true" frameborder="0" scrolling="0" width="62" height="20"></iframe> -->
</div>
</div>



<section class="content wrap blogContent">
<div class="nav-docs">
<div class="nav-docs-section">
<h3>Recent posts</h3>
<ul>

<li><a href="/react/blog/2013/07/03/community-roundup-4.html" class="active">Community Round-up #4</a></li>

<li><a href="/react/blog/2013/07/02/react-v0-4-autobind-by-default.html">New in React v0.4: Autobind by Default</a></li>

<li><a href="/react/blog/2013/06/27/community-roundup-3.html">Community Round-up #3</a></li>

<li><a href="/react/blog/2013/06/21/react-v0-3-3.html">React v0.3.3</a></li>

<li><a href="/react/blog/2013/06/19/community-roundup-2.html">Community Round-up #2</a></li>

<li><a href="/react/blog/2013/06/12/community-roundup.html">Community Round-up #1</a></li>

<li><a href="/react/blog/2013/06/05/why-react.html">Why did we build React?</a></li>

<li><a href="/react/blog/2013/06/02/jsfiddle-integration.html">JSFiddle Integration</a></li>

</ul>
</div>
</div>

<div class="inner-content">
<h1>Community Round-up #4</h1>
<p class="meta">July 3, 2013 by Vjeux</p>

<hr>

<div class="post">
<p>React reconciliation process appears to be very well suited to implement a text editor with a live preview as people at Khan Academy show us.</p>

<h2>Khan Academy</h2>

<p><a href="http://bjk5.com/">Ben Kamens</a> explains how <a href="http://benalpert.com/">Ben Alpert</a> and <a href="http://joelburget.com/">Joel Burget</a> are promoting React inside of <a href="https://www.khanacademy.org/">Khan Academy</a>. They now have three projects in the works using React.</p>

<blockquote>
<p>Recently two Khan Academy devs dropped into our team chat and said they were gonna use React to write a new feature. They even hinted that we may want to adopt it product-wide.</p>

<p>&quot;The library is only a week old. It&#39;s a brand new way of thinking about things. We&#39;re the first to use it outside of Facebook. Heck, even the React devs were surprised to hear we&#39;re using this in production!!!&quot;</p>

<p><a href="http://bjk5.com/post/53742233351/getting-your-team-to-adopt-new-technology">Read the full post...</a></p>
</blockquote>

<p>The best part is the demo of how React reconciliation process makes live editing more user-friendly.</p>

<blockquote>
<p>Our renderer, post-React, is on the left. A typical math editor&#39;s preview is on the right.
<figure><a href="http://bjk5.com/post/53742233351/getting-your-team-to-adopt-new-technology"><img src="/react/img/blog/monkeys.gif" width="70%" /></a></figure></p>
</blockquote>

<h2>React Snippets</h2>

<p>Over the past several weeks, members of our team, <a href="http://www.petehunt.net/">Pete Hunt</a> and <a href="http://zpao.com/">Paul O&#39;Shannessy</a>, answered many questions that were asked in the <a href="https://groups.google.com/forum/#!forum/reactjs">React group</a>. They give a good overview of how to integrate React with other libraries and APIs through the use of <a href="/react/docs/mixins.html">Mixins</a> and <a href="/react/docs/advanced-components.html">Lifecycle Methods</a>.</p>

<blockquote>
<p><a href="https://groups.google.com/forum/#!topic/reactjs/l6PnP8qbofk">Listening Scroll Event</a></p>

<ul>
<li><a href="http://jsfiddle.net/aabeL/1/">JSFiddle</a>: Basically I&#39;ve given you two mixins. The first lets you react to global scroll events. The second is, IMO, much more useful: it gives you scroll start and scroll end events, which you can use with setState() to create components that react based on whether the user is scrolling or not.</li>
</ul>

<p><a href="https://groups.google.com/forum/#!topic/reactjs/RVAY_eQmdpo">Fade-in Transition</a></p>

<ul>
<li><a href="http://jsfiddle.net/ufe8k/1/">JSFiddle</a>: Creating a new <code>&lt;FadeInWhenAdded&gt;</code> component and using jQuery <code>.fadeIn()</code> function on the DOM node.</li>
<li><a href="http://jsfiddle.net/R8f5L/5/">JSFiddle</a>: Using CSS transition instead.</li>
</ul>

<p><a href="https://groups.google.com/forum/#!topic/reactjs/pyUZBRWcHB4">Socket.IO Integration</a></p>

<ul>
<li><a href="https://gist.github.com/zpao/5686416">Gist</a>: The big thing to notice is that my component is pretty dumb (it doesn&#39;t have to be but that&#39;s how I chose to model it). All it does is render itself based on the props that are passed in. renderOrUpdate is where the &quot;magic&quot; happens.</li>
<li><a href="https://gist.github.com/petehunt/5687230">Gist</a>: This example is doing everything -- including the IO -- inside of a single React component.</li>
<li><a href="https://gist.github.com/petehunt/5687276">Gist</a>: One pattern that we use at Instagram a lot is to employ separation of concerns and consolidate I/O and state into components higher in the hierarchy to keep the rest of the components mostly stateless and purely display.</li>
</ul>

<p><a href="https://groups.google.com/forum/#!topic/reactjs/mHfBGI3Qwz4">Sortable jQuery Plugin Integration</a></p>

<ul>
<li><a href="http://jsfiddle.net/LQxy7/">JSFiddle</a>: Your React component simply render empty divs, and then in componentDidMount() you call React.renderComponent() on each of those divs to set up a new root React tree. Be sure to explicitly unmountAndReleaseReactRootNode() for each component in componentWillUnmount().</li>
</ul>
</blockquote>

<h2>Introduction to React Screencast</h2>

<p><a href="http://www.petehunt.net/">Pete Hunt</a> recorded himself implementing a simple <code>&lt;Blink&gt;</code> tag in React.</p>

<figure><iframe src="http://player.vimeo.com/video/67248575" width="500" height="340" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></figure>

<h2>Snake in React</h2>

<p><a href="http://tomocchino.com/">Tom Occhino</a> implemented Snake in 150 lines with React.</p>

<blockquote>
<p><a href="https://github.com/tomocchino/react-snake/blob/master/src/snake.js">Check the source on Github</a>
<figure><a href="http://tomocchino.github.io/react-snake/"><img src="/react/img/blog/snake.png" alt=""></a></figure></p>
</blockquote>

</div>

<div class="fb-like" data-send="true" data-width="650" data-show-faces="false"></div>
<div class="fb-comments" data-width="650" data-num-posts="10" data-href="http://facebook.github.io/react/blog/2013/07/03/community-roundup-4.html"></div>
</div>
</section>


<footer class="wrap">
<div class="left">A Facebook &amp; Instagram collaboration.</div>
<div class="right">&copy; 2013 Facebook Inc.</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'));
</script>
</body>
</html>
19 changes: 19 additions & 0 deletions blog/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@
<h3>Recent posts</h3>
<ul>

<li><a href="/react/blog/2013/07/03/community-roundup-4.html">Community Round-up #4</a></li>

<li><a href="/react/blog/2013/07/02/react-v0-4-autobind-by-default.html">New in React v0.4: Autobind by Default</a></li>

<li><a href="/react/blog/2013/06/27/community-roundup-3.html">Community Round-up #3</a></li>
Expand All @@ -77,6 +79,23 @@ <h3>Recent posts</h3>

<div class="inner-content">

<div class="post-list-item">
<h1><a href="/react/blog/2013/07/03/community-roundup-4.html">Community Round-up #4</a></h1>
<p class="meta">July 3, 2013 by Vjeux</p>

<hr>

<div class="post">
<p>React reconciliation process appears to be very well suited to implement a text editor with a live preview as people at Khan Academy show us.</p>


<p>
<a href="/react/blog/2013/07/03/community-roundup-4.html">Continue Reading &rarr;</a>
</p>

</div>
</div>

<div class="post-list-item">
<h1><a href="/react/blog/2013/07/02/react-v0-4-autobind-by-default.html">New in React v0.4: Autobind by Default</a></h1>
<p class="meta">July 2, 2013 by Paul O'Shannessy</p>
Expand Down
Loading

0 comments on commit 688c56d

Please sign in to comment.