{"componentChunkName":"component---src-templates-blog-js","path":"/blog/2013/06/19/community-roundup-2.html","result":{"data":{"markdownRemark":{"html":"<p>Since the launch we have received a lot of feedback and are actively working on React 0.4. In the meantime, here are the highlights of this week.</p>\n<h2 id=\"some-quick-thoughts-on-react\"><a href=\"#some-quick-thoughts-on-react\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Some quick thoughts on React </h2>\n<p><a href=\"http://www.andrewgreig.com/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Andrew Greig</a> made a blog post that gives a high level description of what React is.</p>\n<blockquote>\n<p>I have been using Facebook’s recently released JavaScript framework called React.js for the last few days and have managed to obtain a rather high level understanding of how it works and formed a good perspective on how it fits in to the entire javascript framework ecosystem.</p>\n<p>Basically, React is not an MVC framework. It is not a replacement for Backbone or Knockout or Angular, instead it is designed to work with existing frameworks and help extend their functionality.</p>\n<p>It is designed for building big UIs. The type where you have lots of reusable components that are handling events and presenting and changing some backend data. In a traditional MVC app, React fulfils the role of the View. So you would still need to handle the Model and Controller on your own.</p>\n<p>I found the best way to utilise React was to pair it with Backbone, with React replacing the Backbone View, or to write your own Model/Data object and have React communicate with that.</p>\n<p><a href=\"http://www.andrewgreig.com/637/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Read the full post…</a></p>\n</blockquote>\n<h2 id=\"react-and-socketio-chat-application\"><a href=\"#react-and-socketio-chat-application\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>React and Socket.IO Chat Application </h2>\n<p><a href=\"https://danialk.github.io/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Danial Khosravi</a> made a real-time chat application that interacts with the back-end using Socket.IO.</p>\n<blockquote>\n<p>A week ago I was playing with AngularJS and <a href=\"https://github.com/btford/angular-socket-io-im\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">this little chat application</a> which uses socket.io and nodejs for realtime communication. Yesterday I saw a post about ReactJS in <a href=\"http://www.echojs.com/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">EchoJS</a> and started playing with this UI library. After playing a bit with React, I decided to write and chat application using React and I used Bran Ford’s Backend for server side of this little app.</p>\n<figure><a href=\"https://danialk.github.io/blog/2013/06/16/reactjs-and-socket-dot-io-chat-application/\">\n  <span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block;  max-width: 441px; margin-left: auto; margin-right: auto;\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 37.61904761904762%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAIAAAB2/0i6AAAACXBIWXMAAA7DAAAOwwHHb6hkAAABa0lEQVQY0z2R0XLaQAxF1wEciMGkJTXBNvHw1IltsqvdtbRaY+qkePLQ//+fjqHpzH3QSDqaO7pihW3hj4WXCdm1xUNbrw1+J06YktaNTeyCikVJosK7CoOrboV4auAZIXUqZ5U7teVmhh9T92eh33/gsKFuCXaubAQmlCxKJ15pPDSqEaKkhbJ7linBkzUx9xP/MXX90vgE20XjE6NTozNSz0yxadYaVmBWGueKhSgxAlN4mTMkjY75PD1dwu4y+/UZdENk/O5oE7Ap6czJn+f6cMJY29g0c+VH+EHZFy9T9x8eZtSH7eUOTpsKCmk3OJI7UpmnyVt7NY832xiBPbDMR9h84y48D2E3zPh90Q/34DJpdmC3BHuWOevMwQurjM2DbkVQu+XRFkpvpX1Ezp2KDUb0O7I+ZbVzsGf1iP3SnpJGbRo7B7dquvANJ0cS99COBiq8ikSJovyXxy2eoMSgpqC+fXicfi3jX/wdSmpHAZxqAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;\">\n      <img class=\"gatsby-resp-image-image\" style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\" alt=\"chatapp\" title src=\"/static/75b8185edbfde871ee68f5bdcfb8a9e5/efc6e/chatapp.png\" srcset=\"/static/75b8185edbfde871ee68f5bdcfb8a9e5/65ed1/chatapp.png 210w,\n/static/75b8185edbfde871ee68f5bdcfb8a9e5/d10fb/chatapp.png 420w,\n/static/75b8185edbfde871ee68f5bdcfb8a9e5/efc6e/chatapp.png 441w\" sizes=\"(max-width: 441px) 100vw, 441px\">\n    </span>\n  </span>\n  </a></figure>\n<p><a href=\"https://danialk.github.io/blog/2013/06/16/reactjs-and-socket-dot-io-chat-application/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Read the full post…</a></p>\n</blockquote>\n<h2 id=\"react-and-other-frameworks\"><a href=\"#react-and-other-frameworks\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>React and Other Frameworks </h2>\n<p><a href=\"http://www.petehunt.net/blog/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Pete Hunt</a> wrote an answer on Quora comparing React and Angular directives. At the end, he explains how you can make an Angular directive that is in fact being rendered with React.</p>\n<blockquote>\n<p>To set the record straight: React components are far more powerful than Angular templates; they should be compared with Angular’s directives instead. So I took the first Google hit for “AngularJS directive tutorial” (AngularJS Directives Tutorial - Fundoo Solutions), rewrote it in React and compared them. […]</p>\n<p>We’ve designed React from the beginning to work well with other libraries. Angular is no exception. Let’s take the original Angular example and use React to implement the fundoo-rating directive.</p>\n<p><a href=\"https://www.quora.com/Pete-Hunt/Posts/Facebooks-React-vs-AngularJS-A-Closer-Look\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Read the full post…</a></p>\n</blockquote>\n<p>In the same vein, <a href=\"https://twitter.com/markov_twain/status/345702941845499906\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Markov Twain</a> re-implemented the examples on the front-page <a href=\"http://jsbin.com/azihiw/2/edit\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">with Ember</a> and <a href=\"https://twitter.com/vla\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Vlad Yazhbin</a> re-implemented the tutorial <a href=\"http://jsfiddle.net/vla/Cdrse/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">with Angular</a>.</p>\n<h2 id=\"web-components-react--x-tags\"><a href=\"#web-components-react--x-tags\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Web Components: React &#x26; x-tags </h2>\n<p>Mozilla and Google are actively working on Web Components. <a href=\"http://blog.vjeux.com/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Vjeux</a> wrote a proof of concept that shows how to implement them using React.</p>\n<blockquote>\n<p>Using <a href=\"http://www.x-tags.org/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">x-tags</a> from Mozilla, we can write custom tags within the DOM. This is a great opportunity to be able to write reusable components without being tied to a particular library. I wrote <a href=\"https://github.com/vjeux/react-xtags/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">x-react</a> to have them being rendered in React.</p>\n<figure><a href=\"http://blog.vjeux.com/2013/javascript/custom-components-react-x-tags.html\">\n  <span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block;  max-width: 347px; margin-left: auto; margin-right: auto;\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 22.380952380952383%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAIAAAABPYjBAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAyElEQVQI102LyW6DMBQA+f+/Chya5hJVaqISQlgM2HhDXjEhfq4i9dC5zUiTccYft7r7aR9f9dSPzfXc36qy7KsSjR0xRjvv6Dwfjx+HPD8UxfXy/Xk65UWBMc6UUpQxxpkUUnC6yEWIBaGJEOb9Zuzm7Wq0Xl3Y9z2EEHxIr/TcnlrrzFrLKeeIogsiLZKELFIPg8R4GUcxYcmobOq6qduua+/3CrWIT3weyHsGgNWtXjkrjFPuFSPEmFIEiClBSgAA6T9v/4u/A/TdUXHi4xMAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;\">\n      <img class=\"gatsby-resp-image-image\" style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\" alt=\"xreact\" title src=\"/static/f9207adea125403fe928594ccb67a539/39e45/xreact.png\" srcset=\"/static/f9207adea125403fe928594ccb67a539/65ed1/xreact.png 210w,\n/static/f9207adea125403fe928594ccb67a539/39e45/xreact.png 347w\" sizes=\"(max-width: 347px) 100vw, 347px\">\n    </span>\n  </span>\n  </a></figure>\n<p><a href=\"http://blog.vjeux.com/2013/javascript/custom-components-react-x-tags.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Read the full post…</a></p>\n</blockquote>\n<h2 id=\"react-todomvc-example\"><a href=\"#react-todomvc-example\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>React TodoMVC Example </h2>\n<p><a href=\"http://todomvc.com/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">TodoMVC.com</a> is a website that collects various implementations of the same basic Todo app. <a href=\"http://www.petehunt.net/blog/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Pete Hunt</a> wrote an idiomatic React version.</p>\n<blockquote>\n<p>Developers these days are spoiled with choice when it comes to selecting an MV* framework for structuring and organizing their JavaScript web apps.</p>\n<p>To help solve this problem, we created TodoMVC - a project which offers the same Todo application implemented using MV* concepts in most of the popular JavaScript MV* frameworks of today.</p>\n<figure><a href=\"http://todomvc.com/labs/architecture-examples/react/\">\n  <span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block;  max-width: 595px; margin-left: auto; margin-right: auto;\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 34.285714285714285%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAA9UlEQVQY023N206DQBSFYd7/XdSAxYtWEp8CalJT92FgKAN0Dk4F2mqgoqbpl3Xx74vJBEkcraL7JA6TOHxehEkcJYspxh63eny42jK8e1k+SSmDIhdKFgzAiLlgQhBMhRA5MxMWgutq16jq/1pV7UrJzIEx5tN7Y4zWxljbtK3WY2qtm6YxxnZ9f7V+GKxzABB477vDwXvvJl3XnU6n4+QSw6yfDcPgnAPEQFt7HA+73+/runbu4/fxlfP5/DXz3o8/EyIhCpHXE6VUdYtSCgDSNM2ybL1+3W7fiSggQgAgouKHlFL+1dSXQMTN5G2zYeayLL8B+Zx6USYgFaMAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;\">\n      <img class=\"gatsby-resp-image-image\" style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\" alt=\"todomvc\" title src=\"/static/d2c3b90797c16ad85c4a782bb7af4466/3dd3e/todomvc.png\" srcset=\"/static/d2c3b90797c16ad85c4a782bb7af4466/65ed1/todomvc.png 210w,\n/static/d2c3b90797c16ad85c4a782bb7af4466/d10fb/todomvc.png 420w,\n/static/d2c3b90797c16ad85c4a782bb7af4466/3dd3e/todomvc.png 595w\" sizes=\"(max-width: 595px) 100vw, 595px\">\n    </span>\n  </span>\n  </a></figure>\n<p><a href=\"https://github.com/tastejs/todomvc/tree/gh-pages/labs/architecture-examples/react\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Read the source code…</a></p>\n</blockquote>\n<h2 id=\"jsx-is-not-html\"><a href=\"#jsx-is-not-html\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>JSX is not HTML </h2>\n<p>Many of you pointed out differences between JSX and HTML. In order to clear up some confusion, we have added some documentation that covers the four main differences:</p>\n<ul>\n<li><a href=\"/docs/jsx-is-not-html.html\">Whitespace removal</a></li>\n<li><a href=\"/docs/jsx-is-not-html.html\">HTML Entities</a></li>\n<li><a href=\"/docs/jsx-is-not-html.html\">Comments</a></li>\n<li><a href=\"/docs/jsx-is-not-html.html\">Custom HTML Attributes</a></li>\n</ul>","excerpt":"Since the launch we have received a lot of feedback and are actively working on React 0.4. In the meantime, here are the highlights of this week. Some quick thoughts on React  Andrew Greig made a blog post that gives a high level description of what React is. I have been using Facebook’s recently released JavaScript framework called React.js for the last few days and have managed to obtain a rather high level understanding of how it works and formed a good perspective on how it fits in to the…","frontmatter":{"title":"Community Round-up #2","next":null,"prev":null,"author":[{"frontmatter":{"name":"Vjeux","url":"https://twitter.com/vjeux"}}]},"fields":{"date":"June 19, 2013","path":"content/blog/2013-06-19-community-roundup-2.md","slug":"/blog/2013/06/19/community-roundup-2.html"}},"allMarkdownRemark":{"edges":[{"node":{"frontmatter":{"title":"React Labs: What We've Been Working On – June 2022"},"fields":{"slug":"/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.html"}}},{"node":{"frontmatter":{"title":"React v18.0"},"fields":{"slug":"/blog/2022/03/29/react-v18.html"}}},{"node":{"frontmatter":{"title":"How to Upgrade to React 18"},"fields":{"slug":"/blog/2022/03/08/react-18-upgrade-guide.html"}}},{"node":{"frontmatter":{"title":"React Conf 2021 Recap"},"fields":{"slug":"/blog/2021/12/17/react-conf-2021-recap.html"}}},{"node":{"frontmatter":{"title":"The Plan for React 18"},"fields":{"slug":"/blog/2021/06/08/the-plan-for-react-18.html"}}},{"node":{"frontmatter":{"title":"Introducing Zero-Bundle-Size React Server Components"},"fields":{"slug":"/blog/2020/12/21/data-fetching-with-react-server-components.html"}}},{"node":{"frontmatter":{"title":"React v17.0"},"fields":{"slug":"/blog/2020/10/20/react-v17.html"}}},{"node":{"frontmatter":{"title":"Introducing the New JSX Transform"},"fields":{"slug":"/blog/2020/09/22/introducing-the-new-jsx-transform.html"}}},{"node":{"frontmatter":{"title":"React v17.0 Release Candidate: No New Features"},"fields":{"slug":"/blog/2020/08/10/react-v17-rc.html"}}},{"node":{"frontmatter":{"title":"React v16.13.0"},"fields":{"slug":"/blog/2020/02/26/react-v16.13.0.html"}}}]}},"pageContext":{"slug":"/blog/2013/06/19/community-roundup-2.html"}},"staticQueryHashes":[]}