diff --git a/blog/2013/06/02/jsfiddle-integration.html b/blog/2013/06/02/jsfiddle-integration.html index b27cb4cc1a..288e6f2378 100644 --- a/blog/2013/06/02/jsfiddle-integration.html +++ b/blog/2013/06/02/jsfiddle-integration.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/06/05/why-react.html b/blog/2013/06/05/why-react.html index 042858111e..e70e7491f5 100644 --- a/blog/2013/06/05/why-react.html +++ b/blog/2013/06/05/why-react.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/06/12/community-roundup.html b/blog/2013/06/12/community-roundup.html index c4cb30174e..ab070dbd8f 100644 --- a/blog/2013/06/12/community-roundup.html +++ b/blog/2013/06/12/community-roundup.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/06/19/community-roundup-2.html b/blog/2013/06/19/community-roundup-2.html index de9f764ac1..e664afc2b8 100644 --- a/blog/2013/06/19/community-roundup-2.html +++ b/blog/2013/06/19/community-roundup-2.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/06/21/react-v0-3-3.html b/blog/2013/06/21/react-v0-3-3.html index 4832b9197e..ff017e091c 100644 --- a/blog/2013/06/21/react-v0-3-3.html +++ b/blog/2013/06/21/react-v0-3-3.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/06/27/community-roundup-3.html b/blog/2013/06/27/community-roundup-3.html index e3fae946a0..181f43f341 100644 --- a/blog/2013/06/27/community-roundup-3.html +++ b/blog/2013/06/27/community-roundup-3.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/07/02/react-v0-4-autobind-by-default.html b/blog/2013/07/02/react-v0-4-autobind-by-default.html index 9e648dc5e0..2ce9d4af39 100644 --- a/blog/2013/07/02/react-v0-4-autobind-by-default.html +++ b/blog/2013/07/02/react-v0-4-autobind-by-default.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/07/03/community-roundup-4.html b/blog/2013/07/03/community-roundup-4.html index bfc7091a31..9119a903b3 100644 --- a/blog/2013/07/03/community-roundup-4.html +++ b/blog/2013/07/03/community-roundup-4.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/07/11/react-v0-4-prop-validation-and-default-values.html b/blog/2013/07/11/react-v0-4-prop-validation-and-default-values.html index 021b4bd63b..ba7c252294 100644 --- a/blog/2013/07/11/react-v0-4-prop-validation-and-default-values.html +++ b/blog/2013/07/11/react-v0-4-prop-validation-and-default-values.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/07/17/react-v0-4-0.html b/blog/2013/07/17/react-v0-4-0.html index f2cf7c401f..c2ad7fff25 100644 --- a/blog/2013/07/17/react-v0-4-0.html +++ b/blog/2013/07/17/react-v0-4-0.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/07/23/community-roundup-5.html b/blog/2013/07/23/community-roundup-5.html index 8f8f7a4770..75f7cec3aa 100644 --- a/blog/2013/07/23/community-roundup-5.html +++ b/blog/2013/07/23/community-roundup-5.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/07/26/react-v0-4-1.html b/blog/2013/07/26/react-v0-4-1.html index 6109ddcac0..b17996c044 100644 --- a/blog/2013/07/26/react-v0-4-1.html +++ b/blog/2013/07/26/react-v0-4-1.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/07/30/use-react-and-jsx-in-ruby-on-rails.html b/blog/2013/07/30/use-react-and-jsx-in-ruby-on-rails.html index 51e11a3713..00c8e3c38f 100644 --- a/blog/2013/07/30/use-react-and-jsx-in-ruby-on-rails.html +++ b/blog/2013/07/30/use-react-and-jsx-in-ruby-on-rails.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/08/05/community-roundup-6.html b/blog/2013/08/05/community-roundup-6.html index 01b0f64d6d..d55b5f6420 100644 --- a/blog/2013/08/05/community-roundup-6.html +++ b/blog/2013/08/05/community-roundup-6.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/08/19/use-react-and-jsx-in-python-applications.html b/blog/2013/08/19/use-react-and-jsx-in-python-applications.html index d449f6f64e..8251f50777 100644 --- a/blog/2013/08/19/use-react-and-jsx-in-python-applications.html +++ b/blog/2013/08/19/use-react-and-jsx-in-python-applications.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/08/26/community-roundup-7.html b/blog/2013/08/26/community-roundup-7.html index 26ff3c23eb..516c409ce9 100644 --- a/blog/2013/08/26/community-roundup-7.html +++ b/blog/2013/08/26/community-roundup-7.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/09/24/community-roundup-8.html b/blog/2013/09/24/community-roundup-8.html index 68a6455462..916da040ac 100644 --- a/blog/2013/09/24/community-roundup-8.html +++ b/blog/2013/09/24/community-roundup-8.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/10/03/community-roundup-9.html b/blog/2013/10/03/community-roundup-9.html index a9fd4866f0..5b2e8d0087 100644 --- a/blog/2013/10/03/community-roundup-9.html +++ b/blog/2013/10/03/community-roundup-9.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/10/16/react-v0.5.0.html b/blog/2013/10/16/react-v0.5.0.html index 070658d193..5574cec464 100644 --- a/blog/2013/10/16/react-v0.5.0.html +++ b/blog/2013/10/16/react-v0.5.0.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/10/29/react-v0-5-1.html b/blog/2013/10/29/react-v0-5-1.html index 072b914333..a1690eaaf3 100644 --- a/blog/2013/10/29/react-v0-5-1.html +++ b/blog/2013/10/29/react-v0-5-1.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/11/05/thinking-in-react.html b/blog/2013/11/05/thinking-in-react.html index fbe7725b57..188da3ec76 100644 --- a/blog/2013/11/05/thinking-in-react.html +++ b/blog/2013/11/05/thinking-in-react.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/11/06/community-roundup-10.html b/blog/2013/11/06/community-roundup-10.html index 852f989daf..22bfed14be 100644 --- a/blog/2013/11/06/community-roundup-10.html +++ b/blog/2013/11/06/community-roundup-10.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/11/18/community-roundup-11.html b/blog/2013/11/18/community-roundup-11.html index 11d5c7aaca..df35ba7906 100644 --- a/blog/2013/11/18/community-roundup-11.html +++ b/blog/2013/11/18/community-roundup-11.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/12/18/react-v0.5.2-v0.4.2.html b/blog/2013/12/18/react-v0.5.2-v0.4.2.html index 81a7ee5a24..297fb64062 100644 --- a/blog/2013/12/18/react-v0.5.2-v0.4.2.html +++ b/blog/2013/12/18/react-v0.5.2-v0.4.2.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/12/19/react-v0.8.0.html b/blog/2013/12/19/react-v0.8.0.html index 5071c5a784..80a26f24ed 100644 --- a/blog/2013/12/19/react-v0.8.0.html +++ b/blog/2013/12/19/react-v0.8.0.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/12/23/community-roundup-12.html b/blog/2013/12/23/community-roundup-12.html index d05a470a2b..b7d23c5130 100644 --- a/blog/2013/12/23/community-roundup-12.html +++ b/blog/2013/12/23/community-roundup-12.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2013/12/30/community-roundup-13.html b/blog/2013/12/30/community-roundup-13.html index 29a1599076..4c1d5d33ce 100644 --- a/blog/2013/12/30/community-roundup-13.html +++ b/blog/2013/12/30/community-roundup-13.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2014/01/02/react-chrome-developer-tools.html b/blog/2014/01/02/react-chrome-developer-tools.html index 008c5c1f7e..41821e1067 100644 --- a/blog/2014/01/02/react-chrome-developer-tools.html +++ b/blog/2014/01/02/react-chrome-developer-tools.html @@ -64,6 +64,8 @@

Recent posts

diff --git a/blog/2014/01/06/community-roundup-14.html b/blog/2014/01/06/community-roundup-14.html new file mode 100644 index 0000000000..a34d07d39f --- /dev/null +++ b/blog/2014/01/06/community-roundup-14.html @@ -0,0 +1,199 @@ + + + + + + + React | Community Round-up #14 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+ + +
+

Community Round-up #14

+

January 6, 2014 by Vjeux

+ +
+ +
+

The theme of this first round-up of 2014 is integration. I've tried to assemble a list of articles and projects that use React in various environments.

+

React Baseline #

+

React is only one-piece of your web application stack. Mark Lussier shared his baseline stack that uses React along with Grunt, Browserify, Bower, Zepto, Director and Sass. This should help you get started using React for a new project.

+ +
+

As I do more projects with ReactJS I started to extract a baseline to use when starting new projects. This is very opinionated and I change my opinion from time to time. This is by no ways perfect and in your opinion most likely wrong :).. which is why I love github

+ +

I encourage you to fork, and make it right and submit a pull request!

+ +

My current opinion is using tools like Grunt, Browserify, Bower and mutiple grunt plugins to get the job done. I also opted for Zepto over jQuery and the Flatiron Project's Director when I need a router. Oh and for the last little bit of tech that makes you mad, I am in the SASS camp when it comes to stylesheets

+ +

Check it out on GitHub...

+
+

Animal Sounds #

+

Josh Duck used React in order to build a Windows 8 tablet app. This is a good example of a touch app written in React. +

+ +

Download the app...

+

React Rails Tutorial #

+

Selem Delul bundled the React Tutorial into a rails app. This is a good example on how to get started with a rails project.

+ +
+
git clone https://github.com/necrodome/react-rails-tutorial
+cd react-rails-tutorial
+bundle install
+rake db:migrate
+rails s
+
+

Then visit http://localhost:3000/app to see the React application that is explained in the React Tutorial. Try opening multiple tabs!

+ +

View on GitHub...

+
+

Mixing with Backbone #

+

Eldar Djafarov implemented a mixin to link Backbone models to React state and a small abstraction to write two-way binding on-top.

+ + + +

Check out the blog post...

+

React Infinite Scroll #

+

Guillaume Rivals implemented an InfiniteScroll component. This is a good example of a React component that has a simple yet powerful API.

+
<InfiniteScroll
+  pageStart={0}
+  loadMore={loadFunc}
+  hasMore={true || false}
+  loader={<div className="loader">Loading ...</div>}>
+  {items} // <-- This is the "stuff" you want to load
+</InfiniteScroll>
+
+

Try it out on GitHub!

+

Web Components Style #

+

Thomas Aylott implemented an API that looks like Web Components but using React underneath.

+ + +

React vs Angular #

+

React is often compared with Angular. Pete Hunt wrote an opinionated post on the subject.

+ +
+

First of all I think it’s important to evaluate technologies on objective rather than subjective features. “It feels nicer” or “it’s cleaner” aren’t valid reasons: performance, modularity, community size and ease of testing / integration with other tools are.

+ +

I’ve done a lot of work benchmarking, building apps, and reading the code of Angular to try to come up with a reasonable comparison between their ways of doing things.

+ +

Read the full post...

+
+

Random Tweet #

+
+ +
+ +
+
+
+
+ + + +
+
+ + + + diff --git a/blog/all.html b/blog/all.html index 8e4ce35862..a08880214d 100644 --- a/blog/all.html +++ b/blog/all.html @@ -62,6 +62,8 @@

All Posts

+

Community Round-up #14 on January 6, 2014 by Vjeux

+

React Chrome Developer Tools on January 2, 2014 by Sebastian Markbåge

Community Round-up #13 on December 30, 2013 by Vjeux

diff --git a/blog/index.html b/blog/index.html index 892646ed45..8313df486c 100644 --- a/blog/index.html +++ b/blog/index.html @@ -64,6 +64,8 @@

Recent posts

@@ -91,6 +91,80 @@
+
+

Community Round-up #14

+

January 6, 2014 by Vjeux

+
+
+

The theme of this first round-up of 2014 is integration. I've tried to assemble a list of articles and projects that use React in various environments.

+

React Baseline #

+

React is only one-piece of your web application stack. Mark Lussier shared his baseline stack that uses React along with Grunt, Browserify, Bower, Zepto, Director and Sass. This should help you get started using React for a new project.

+ +
+

As I do more projects with ReactJS I started to extract a baseline to use when starting new projects. This is very opinionated and I change my opinion from time to time. This is by no ways perfect and in your opinion most likely wrong :).. which is why I love github

+ +

I encourage you to fork, and make it right and submit a pull request!

+ +

My current opinion is using tools like Grunt, Browserify, Bower and mutiple grunt plugins to get the job done. I also opted for Zepto over jQuery and the Flatiron Project's Director when I need a router. Oh and for the last little bit of tech that makes you mad, I am in the SASS camp when it comes to stylesheets

+ +

Check it out on GitHub...

+
+

Animal Sounds #

+

Josh Duck used React in order to build a Windows 8 tablet app. This is a good example of a touch app written in React. +

+ +

Download the app...

+

React Rails Tutorial #

+

Selem Delul bundled the React Tutorial into a rails app. This is a good example on how to get started with a rails project.

+ +
+
git clone https://github.com/necrodome/react-rails-tutorial
+cd react-rails-tutorial
+bundle install
+rake db:migrate
+rails s
+
+

Then visit http://localhost:3000/app to see the React application that is explained in the React Tutorial. Try opening multiple tabs!

+ +

View on GitHub...

+
+

Mixing with Backbone #

+

Eldar Djafarov implemented a mixin to link Backbone models to React state and a small abstraction to write two-way binding on-top.

+ + + +

Check out the blog post...

+

React Infinite Scroll #

+

Guillaume Rivals implemented an InfiniteScroll component. This is a good example of a React component that has a simple yet powerful API.

+
<InfiniteScroll
+  pageStart={0}
+  loadMore={loadFunc}
+  hasMore={true || false}
+  loader={<div className="loader">Loading ...</div>}>
+  {items} // <-- This is the "stuff" you want to load
+</InfiniteScroll>
+
+

Try it out on GitHub!

+

Web Components Style #

+

Thomas Aylott implemented an API that looks like Web Components but using React underneath.

+ + +

React vs Angular #

+

React is often compared with Angular. Pete Hunt wrote an opinionated post on the subject.

+ +
+

First of all I think it’s important to evaluate technologies on objective rather than subjective features. “It feels nicer” or “it’s cleaner” aren’t valid reasons: performance, modularity, community size and ease of testing / integration with other tools are.

+ +

I’ve done a lot of work benchmarking, building apps, and reading the code of Angular to try to come up with a reasonable comparison between their ways of doing things.

+ +

Read the full post...

+
+

Random Tweet #

+
+ +
+
+

React Chrome Developer Tools

January 2, 2014 by Sebastian Markbåge

@@ -341,26 +415,6 @@ componentDidUpdate: function() {
-
-

React v0.5.2, v0.4.2

-

December 18, 2013 by Paul O'Shannessy

-
-
-

Today we're releasing an update to address a potential XSS vulnerability that can arise when using user data as a key. Typically "safe" data is used for a key, for example, an id from your database, or a unique hash. However there are cases where it may be reasonable to use user generated content. A carefully crafted piece of content could result in arbitrary JS execution. While we make a very concerted effort to ensure all text is escaped before inserting it into the DOM, we missed one case. Immediately following the discovery of this vulnerability, we performed an audit to ensure we this was the only such vulnerability.

- -

This only affects v0.5.x and v0.4.x. Versions in the 0.3.x family are unaffected.

- -

Updated versions are available for immediate download via npm, bower, and on our download page.

- -

We take security very seriously at Facebook. For most of our products, users don't need to know that a security issue has been fixed. But with libraries like React, we need to make sure developers using React have access to fixes to keep their users safe.

- -

While we've encouraged responsible disclosure as part of Facebook's whitehat bounty program since we launched, we don't have a good process for notifying our users. Hopefully we don't need to use it, but moving forward we'll set up a little bit more process to ensure the safety of our users. Ember.js has an excellent policy which we may use as our model.

- -

You can learn more about the vulnerability discussed here: CVE-2013-7035.

- -
-
- @@ -91,6 +91,26 @@
+
+

React v0.5.2, v0.4.2

+

December 18, 2013 by Paul O'Shannessy

+
+
+

Today we're releasing an update to address a potential XSS vulnerability that can arise when using user data as a key. Typically "safe" data is used for a key, for example, an id from your database, or a unique hash. However there are cases where it may be reasonable to use user generated content. A carefully crafted piece of content could result in arbitrary JS execution. While we make a very concerted effort to ensure all text is escaped before inserting it into the DOM, we missed one case. Immediately following the discovery of this vulnerability, we performed an audit to ensure we this was the only such vulnerability.

+ +

This only affects v0.5.x and v0.4.x. Versions in the 0.3.x family are unaffected.

+ +

Updated versions are available for immediate download via npm, bower, and on our download page.

+ +

We take security very seriously at Facebook. For most of our products, users don't need to know that a security issue has been fixed. But with libraries like React, we need to make sure developers using React have access to fixes to keep their users safe.

+ +

While we've encouraged responsible disclosure as part of Facebook's whitehat bounty program since we launched, we don't have a good process for notifying our users. Hopefully we don't need to use it, but moving forward we'll set up a little bit more process to ensure the safety of our users. Ember.js has an excellent policy which we may use as our model.

+ +

You can learn more about the vulnerability discussed here: CVE-2013-7035.

+ +
+
+

Community Round-up #11

November 18, 2013 by Vjeux

@@ -454,56 +474,6 @@ Is this some sort of template language? Specifically no. This might have been th
-
-

React v0.5

-

October 16, 2013 by Paul O'Shannessy

-
-
-

This release is the result of several months of hard work from members of the team and the community. While there are no groundbreaking changes in core, we've worked hard to improve performance and memory usage. We've also worked hard to make sure we are being consistent in our usage of DOM properties.

- -

The biggest change you'll notice as a developer is that we no longer support class in JSX as a way to provide CSS classes. Since this prop was being converted to className at the transform step, it caused some confusion when trying to access it in composite components. As a result we decided to make our DOM properties mirror their counterparts in the JS DOM API. There are a few exceptions where we deviate slightly in an attempt to be consistent internally.

- -

The other major change in v0.5 is that we've added an additional build - react-with-addons - which adds support for some extras that we've been working on including animations and two-way binding. Read more about these addons in the docs.

-

Thanks to Our Community #

-

We added 22 new people to the list of authors since we launched React v0.4.1 nearly 3 months ago. With a total of 48 names in our AUTHORS file, that means we've nearly doubled the number of contributors in that time period. We've seen the number of people contributing to discussion on IRC, mailing lists, Stack Overflow, and GitHub continue rising. We've also had people tell us about talks they've given in their local community about React.

- -

It's been awesome to see the things that people are building with React, and we can't wait to see what you come up with next!

-

Changelog #

React #

- -

React with Addons (New!) #

- -

JSX #

- - -
-
- @@ -91,6 +91,56 @@
+
+

React v0.5

+

October 16, 2013 by Paul O'Shannessy

+
+
+

This release is the result of several months of hard work from members of the team and the community. While there are no groundbreaking changes in core, we've worked hard to improve performance and memory usage. We've also worked hard to make sure we are being consistent in our usage of DOM properties.

+ +

The biggest change you'll notice as a developer is that we no longer support class in JSX as a way to provide CSS classes. Since this prop was being converted to className at the transform step, it caused some confusion when trying to access it in composite components. As a result we decided to make our DOM properties mirror their counterparts in the JS DOM API. There are a few exceptions where we deviate slightly in an attempt to be consistent internally.

+ +

The other major change in v0.5 is that we've added an additional build - react-with-addons - which adds support for some extras that we've been working on including animations and two-way binding. Read more about these addons in the docs.

+

Thanks to Our Community #

+

We added 22 new people to the list of authors since we launched React v0.4.1 nearly 3 months ago. With a total of 48 names in our AUTHORS file, that means we've nearly doubled the number of contributors in that time period. We've seen the number of people contributing to discussion on IRC, mailing lists, Stack Overflow, and GitHub continue rising. We've also had people tell us about talks they've given in their local community about React.

+ +

It's been awesome to see the things that people are building with React, and we can't wait to see what you come up with next!

+

Changelog #

React #

+
    +
  • Memory usage improvements - reduced allocations in core which will help with GC pauses
  • +
  • Performance improvements - in addition to speeding things up, we made some tweaks to stay out of slow path code in V8 and Nitro.
  • +
  • Standardized prop -> DOM attribute process. This previously resulting in additional type checking and overhead as well as confusing cases for users. Now we will always convert your value to a string before inserting it into the DOM.
  • +
  • Support for Selection events.
  • +
  • Support for Composition events.
  • +
  • Support for additional DOM properties (charSet, content, form, httpEquiv, rowSpan, autoCapitalize).
  • +
  • Support for additional SVG properties (rx, ry).
  • +
  • Support for using getInitialState and getDefaultProps in mixins.
  • +
  • Support mounting into iframes.
  • +
  • Bug fixes for controlled form components.
  • +
  • Bug fixes for SVG element creation.
  • +
  • Added React.version.
  • +
  • Added React.isValidClass - Used to determine if a value is a valid component constructor.
  • +
  • Removed React.autoBind - This was deprecated in v0.4 and now properly removed.
  • +
  • Renamed React.unmountAndReleaseReactRootNode to React.unmountComponentAtNode.
  • +
  • Began laying down work for refined performance analysis.
  • +
  • Better support for server-side rendering - react-page has helped improve the stability for server-side rendering.
  • +
  • Made it possible to use React in environments enforcing a strict Content Security Policy. This also makes it possible to use React to build Chrome extensions.
  • +
+

React with Addons (New!) #

+
    +
  • Introduced a separate build with several "addons" which we think can help improve the React experience. We plan to deprecate this in the long-term, instead shipping each as standalone pieces. Read more in the docs.
  • +
+

JSX #

+
    +
  • No longer transform class to className as part of the transform! This is a breaking change - if you were using class, you must change this to className or your components will be visually broken.
  • +
  • Added warnings to the in-browser transformer to make it clear it is not intended for production use.
  • +
  • Improved compatibility for Windows
  • +
  • Improved support for maintaining line numbers when transforming.
  • +
+ +
+
+

Community Round-up #9

October 3, 2013 by Vjeux

@@ -363,79 +413,6 @@
-
-

Community Round-up #6

-

August 5, 2013 by Vjeux

-
-
-

This is the first Community Round-up where none of the items are from Facebook/Instagram employees. It's great to see the adoption of React growing.

-

React Game Tutorial #

-

Caleb Cassel wrote a step-by-step tutorial about making a small game. It covers JSX, State and Events, Embedded Components and Integration with Backbone. -

-

Reactify #

-

Andrey Popp created a Browserify helper to compile JSX files.

- -
-

Browserify v2 transform for text/jsx. Basic usage is:

-
% browserify -t reactify main.jsx
-
-

reactify transform activates for files with either .jsx extension or /** @jsx React.DOM */ pragma as a first line for any .js file.

- -

Check it out on Github...

-
-

React Integration with Este #

-

Daniel Steigerwald is now using React within Este, which is a development stack for web apps in CoffeeScript that are statically typed using the Closure Library.

-
este.demos.react.todoApp = este.react.create (`/** @lends {React.ReactComponent.prototype} */`)
-  render: ->
-    @div [
-      este.demos.react.todoList 'items': @state['items']
-      if @state['items'].length
-        @p "#{@state['items'].length} items."
-      @form 'onSubmit': @onFormSubmit, [
-        @input
-          'onChange': @onChange
-          'value': @state['text']
-          'autoFocus': true
-          'ref': 'textInput'
-        @button "Add ##{@state['items'].length + 1}"
-      ]
-    ]
-
-

Check it out on Github...

-

React Stylus Boilerplate #

-

Zaim Bakar shared his boilerplate to get started with Stylus CSS processor.

- -
-

This is my boilerplate React project using Grunt as the build tool, and Stylus as my CSS preprocessor.

- -
    -
  • Very minimal HTML boilerplate
  • -
  • Uses Stylus, with nib included
  • -
  • Uses two build targets: - -
      -
    • grunt build to compile JSX and Stylus into a development build
    • -
    • grunt dist to minify and optimize the development build for production
    • -
  • -
- -

Check it out on Github...

-
-

WebFUI #

-

Conrad Barski, author of the popular book Land of Lisp, wants to use React for his ClojureScript library called WebFUI.

- -
-

I'm the author of "Land of Lisp" and I love your framework. I built a somewhat similar framework a year ago WebFUI aimed at ClojureScript. My framework also uses global event delegates, a global "render" function, DOM reconciliation, etc just like react.js. (Of course these ideas all have been floating around the ether for ages, always great to see more people building on them.)

- -

Your implementation is more robust, and so I think the next point release of webfui will simply delegate all the "hard work" to react.js and will only focus on the areas where it adds value (enabling purely functional UI programming in clojurescript, and some other stuff related to streamlining event handling) -

- -

Read the full post...

-
- -
-
- @@ -91,6 +91,79 @@
+
+

Community Round-up #6

+

August 5, 2013 by Vjeux

+
+
+

This is the first Community Round-up where none of the items are from Facebook/Instagram employees. It's great to see the adoption of React growing.

+

React Game Tutorial #

+

Caleb Cassel wrote a step-by-step tutorial about making a small game. It covers JSX, State and Events, Embedded Components and Integration with Backbone. +

+

Reactify #

+

Andrey Popp created a Browserify helper to compile JSX files.

+ +
+

Browserify v2 transform for text/jsx. Basic usage is:

+
% browserify -t reactify main.jsx
+
+

reactify transform activates for files with either .jsx extension or /** @jsx React.DOM */ pragma as a first line for any .js file.

+ +

Check it out on Github...

+
+

React Integration with Este #

+

Daniel Steigerwald is now using React within Este, which is a development stack for web apps in CoffeeScript that are statically typed using the Closure Library.

+
este.demos.react.todoApp = este.react.create (`/** @lends {React.ReactComponent.prototype} */`)
+  render: ->
+    @div [
+      este.demos.react.todoList 'items': @state['items']
+      if @state['items'].length
+        @p "#{@state['items'].length} items."
+      @form 'onSubmit': @onFormSubmit, [
+        @input
+          'onChange': @onChange
+          'value': @state['text']
+          'autoFocus': true
+          'ref': 'textInput'
+        @button "Add ##{@state['items'].length + 1}"
+      ]
+    ]
+
+

Check it out on Github...

+

React Stylus Boilerplate #

+

Zaim Bakar shared his boilerplate to get started with Stylus CSS processor.

+ +
+

This is my boilerplate React project using Grunt as the build tool, and Stylus as my CSS preprocessor.

+ +
    +
  • Very minimal HTML boilerplate
  • +
  • Uses Stylus, with nib included
  • +
  • Uses two build targets: + +
      +
    • grunt build to compile JSX and Stylus into a development build
    • +
    • grunt dist to minify and optimize the development build for production
    • +
  • +
+ +

Check it out on Github...

+
+

WebFUI #

+

Conrad Barski, author of the popular book Land of Lisp, wants to use React for his ClojureScript library called WebFUI.

+ +
+

I'm the author of "Land of Lisp" and I love your framework. I built a somewhat similar framework a year ago WebFUI aimed at ClojureScript. My framework also uses global event delegates, a global "render" function, DOM reconciliation, etc just like react.js. (Of course these ideas all have been floating around the ether for ages, always great to see more people building on them.)

+ +

Your implementation is more robust, and so I think the next point release of webfui will simply delegate all the "hard work" to react.js and will only focus on the areas where it adds value (enabling purely functional UI programming in clojurescript, and some other stuff related to streamlining event handling) +

+ +

Read the full post...

+
+ +
+
+

Use React and JSX in Ruby on Rails

July 30, 2013 by Paul O'Shannessy

@@ -291,57 +364,6 @@ If you were using React without JSX previously, your code should still work.
-
-

New in React v0.4: Prop Validation and Default Values

-

July 11, 2013 by Paul O'Shannessy

-
-
-

Many of the questions we got following the public launch of React revolved around props, specifically that people wanted to do validation and to make sure their components had sensible defaults.

-

Validation #

-

Oftentimes you want to validate your props before you use them. Perhaps you want to ensure they are a specific type. Or maybe you want to restrict your prop to specific values. Or maybe you want to make a specific prop required. This was always possible — you could have written validations in your render or componentWillReceiveProps functions, but that gets clunky fast.

- -

React v0.4 will provide a nice easy way for you to use built-in validators, or to even write your own.

-
React.createClass({
-  propTypes: {
-    // An optional string prop named "description".
-    description: React.PropTypes.string,
-
-    // A required enum prop named "category".
-    category: React.PropTypes.oneOf(['News','Photos']).isRequired,
-
-    // A prop named "dialog" that requires an instance of Dialog.
-    dialog: React.PropTypes.instanceOf(Dialog).isRequired
-  },
-  ...
-});
-

Default Values #

-

One common pattern we've seen with our React code is to do something like this:

-
React.createClass({
-  render: function() {
-    var value = this.props.value || 'default value';
-    return <div>{value}</div>;
-  }
-});
-
-

Do this for a few props across a few components and now you have a lot of redundant code. Starting with React v0.4, you can provide default values in a declarative way:

-
React.createClass({
-  getDefaultProps: function() {
-    return {
-      value: 'default value'
-    };
-  }
-  ...
-});
-
-

We will use the cached result of this function before each render. We also perform all validations before each render to ensure that you have all of the data you need in the right form before you try to use it.

- -
- -

Both of these features are entirely optional. We've found them to be increasingly valuable at Facebook as our applications grow and evolve, and we hope others find them useful as well.

- -
-
- @@ -91,6 +91,57 @@
+
+

New in React v0.4: Prop Validation and Default Values

+

July 11, 2013 by Paul O'Shannessy

+
+
+

Many of the questions we got following the public launch of React revolved around props, specifically that people wanted to do validation and to make sure their components had sensible defaults.

+

Validation #

+

Oftentimes you want to validate your props before you use them. Perhaps you want to ensure they are a specific type. Or maybe you want to restrict your prop to specific values. Or maybe you want to make a specific prop required. This was always possible — you could have written validations in your render or componentWillReceiveProps functions, but that gets clunky fast.

+ +

React v0.4 will provide a nice easy way for you to use built-in validators, or to even write your own.

+
React.createClass({
+  propTypes: {
+    // An optional string prop named "description".
+    description: React.PropTypes.string,
+
+    // A required enum prop named "category".
+    category: React.PropTypes.oneOf(['News','Photos']).isRequired,
+
+    // A prop named "dialog" that requires an instance of Dialog.
+    dialog: React.PropTypes.instanceOf(Dialog).isRequired
+  },
+  ...
+});
+

Default Values #

+

One common pattern we've seen with our React code is to do something like this:

+
React.createClass({
+  render: function() {
+    var value = this.props.value || 'default value';
+    return <div>{value}</div>;
+  }
+});
+
+

Do this for a few props across a few components and now you have a lot of redundant code. Starting with React v0.4, you can provide default values in a declarative way:

+
React.createClass({
+  getDefaultProps: function() {
+    return {
+      value: 'default value'
+    };
+  }
+  ...
+});
+
+

We will use the cached result of this function before each render. We also perform all validations before each render to ensure that you have all of the data you need in the right form before you try to use it.

+ +
+ +

Both of these features are entirely optional. We've found them to be increasingly valuable at Facebook as our applications grow and evolve, and we hope others find them useful as well.

+ +
+
+

Community Round-up #4

July 3, 2013 by Vjeux

@@ -307,80 +358,6 @@
-
-

Community Round-up #2

-

June 19, 2013 by Vjeux

-
-
-

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 Facebooks 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.

- -

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.

- -

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.

- -

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.

- -

Read the full post...

-
-

React and Socket.IO Chat Application #

-

Danial Khosravi made a real-time chat application that interacts with the back-end using Socket.IO.

- -
-

A week ago I was playing with AngularJS and this little chat application which uses socket.io and nodejs for realtime communication. Yesterday I saw a post about ReactJS in EchoJS 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. -

- -

Read the full post...

-
-

React and Other Frameworks #

-

Pete Hunt 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.

- -
-

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. [...]

- -

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.

- -

Read the full post...

-
- -

In the same vein, Markov Twain re-implemented the examples on the front-page with Ember and Vlad Yazhbin re-implemented the tutorial with Angular.

-

Web Components: React & x-tags #

-

Mozilla and Google are actively working on Web Components. Vjeux wrote a proof of concept that shows how to implement them using React.

- -
-

Using x-tags 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 x-react to have them being rendered in React. -

- -

Read the full post...

-
-

React TodoMVC Example #

-

TodoMVC.com is a website that collects various implementations of the same basic Todo app. Pete Hunt wrote an idiomatic React version.

- -
-

Developers these days are spoiled with choice when it comes to selecting an MV* framework for structuring and organizing their JavaScript web apps.

- -

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. -

- -

Read the source code...

-
-

JSX is not HTML #

-

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:

- - - -
-
- @@ -91,6 +91,80 @@
+
+

Community Round-up #2

+

June 19, 2013 by Vjeux

+
+
+

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 Facebooks 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.

+ +

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.

+ +

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.

+ +

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.

+ +

Read the full post...

+
+

React and Socket.IO Chat Application #

+

Danial Khosravi made a real-time chat application that interacts with the back-end using Socket.IO.

+ +
+

A week ago I was playing with AngularJS and this little chat application which uses socket.io and nodejs for realtime communication. Yesterday I saw a post about ReactJS in EchoJS 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. +

+ +

Read the full post...

+
+

React and Other Frameworks #

+

Pete Hunt 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.

+ +
+

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. [...]

+ +

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.

+ +

Read the full post...

+
+ +

In the same vein, Markov Twain re-implemented the examples on the front-page with Ember and Vlad Yazhbin re-implemented the tutorial with Angular.

+

Web Components: React & x-tags #

+

Mozilla and Google are actively working on Web Components. Vjeux wrote a proof of concept that shows how to implement them using React.

+ +
+

Using x-tags 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 x-react to have them being rendered in React. +

+ +

Read the full post...

+
+

React TodoMVC Example #

+

TodoMVC.com is a website that collects various implementations of the same basic Todo app. Pete Hunt wrote an idiomatic React version.

+ +
+

Developers these days are spoiled with choice when it comes to selecting an MV* framework for structuring and organizing their JavaScript web apps.

+ +

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. +

+ +

Read the source code...

+
+

JSX is not HTML #

+

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:

+ + + +
+
+

Community Round-up #1

June 12, 2013 by Vjeux

diff --git a/docs/component-specs.html b/docs/component-specs.html index ebc09c35f5..ce85663850 100644 --- a/docs/component-specs.html +++ b/docs/component-specs.html @@ -381,6 +381,9 @@

The mixins array allows you to use mixins to share behavior among multiple components. For more information about mixins, see Reusable Components.

+

displayName #

string displayName
+
+

The displayName string is used in debugging messages. JSX sets this value automatically, see JSX in Depth.

Lifecycle Methods #

Various methods are executed at specific points in a component's lifecycle.

Mounting: componentWillMount #

componentWillMount()
diff --git a/docs/jsx-in-depth.html b/docs/jsx-in-depth.html
index bcae83a1fb..8a8417c330 100644
--- a/docs/jsx-in-depth.html
+++ b/docs/jsx-in-depth.html
@@ -395,7 +395,9 @@ attributes are transformed into function calls and objects, respectively.

var app = Nav({color:"blue"}, Profile(null, "click"));

Use the JSX Compiler to try out JSX and see how it -desugars into native JavaScript.

+desugars into native JavaScript, and the +HTML to JSX converter to convert your existing HTML to +JSX.

If you want to use JSX, the Getting Started guide shows how to setup compilation.

@@ -425,6 +427,9 @@ references the class.

var MyComponent = React.createClass({/*...*/});
 var app = <MyComponent someProperty={true} />;
 
+

JSX will infer the component's name from the variable assignment and specify +the class's displayName accordingly.

+

See Multiple Components to learn more about using composite components.

diff --git a/docs/tags-and-attributes.html b/docs/tags-and-attributes.html index a76ad5468b..5a30471f25 100644 --- a/docs/tags-and-attributes.html +++ b/docs/tags-and-attributes.html @@ -356,9 +356,9 @@

Supported Tags #

React attempts to support all common elements. If you need an element that isn't listed here, please file an issue.

- -

The following elements are supported:

-

HTML Elements #

a abbr address area article aside audio b base bdi bdo big blockquote body br
+

HTML Elements #

+

The following HTML elements are supported:

+
a abbr address area article aside audio b base bdi bdo big blockquote body br
 button canvas caption cite code col colgroup data datalist dd del details dfn
 div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6
 head header hr html i iframe img input ins kbd keygen label legend li link main
@@ -366,8 +366,12 @@ map mark menu menuitem meta meter nav noscript object ol optgroup option output
 p param pre progress q rp rt ruby s samp script section select small source
 span strong style sub summary sup table tbody td textarea tfoot th thead time
 title tr track u ul var video wbr
-

SVG elements #

circle g line path polyline rect svg text
-

Supported Attributes #

+

SVG elements #

+

The following SVG elements are supported:

+
circle g line path polygon polyline rect svg text
+
+

You may also be interested in react-art, a drawing library for React that can render to Canvas, SVG, or VML (for IE8).

+

Supported Attributes #

React supports all data-* and aria-* attributes as well as every attribute in the following lists.

diff --git a/docs/tooling-integration.html b/docs/tooling-integration.html index 1963671a16..709d554e99 100644 --- a/docs/tooling-integration.html +++ b/docs/tooling-integration.html @@ -375,7 +375,8 @@ diff --git a/feed.xml b/feed.xml index 4f38a4541e..cf3b519636 100644 --- a/feed.xml +++ b/feed.xml @@ -6,6 +6,79 @@ http://facebook.github.io/react + + Community Round-up #14 + <p>The theme of this first round-up of 2014 is integration. I&#39;ve tried to assemble a list of articles and projects that use React in various environments.</p> +<h2><a class="anchor" name="react-baseline"></a>React Baseline <a class="hash-link" href="#react-baseline">#</a></h2> +<p>React is only one-piece of your web application stack. <a href="https://github.com/intabulas">Mark Lussier</a> shared his baseline stack that uses React along with Grunt, Browserify, Bower, Zepto, Director and Sass. This should help you get started using React for a new project.</p> + +<blockquote> +<p>As I do more projects with ReactJS I started to extract a baseline to use when starting new projects. This is very opinionated and I change my opinion from time to time. This is by no ways perfect and in your opinion most likely wrong :).. which is why I love github</p> + +<p>I encourage you to fork, and make it right and submit a pull request!</p> + +<p>My current opinion is using tools like Grunt, Browserify, Bower and mutiple grunt plugins to get the job done. I also opted for Zepto over jQuery and the Flatiron Project&#39;s Director when I need a router. Oh and for the last little bit of tech that makes you mad, I am in the SASS camp when it comes to stylesheets</p> + +<p><a href="https://github.com/intabulas/reactjs-baseline">Check it out on GitHub...</a></p> +</blockquote> +<h2><a class="anchor" name="animal-sounds"></a>Animal Sounds <a class="hash-link" href="#animal-sounds">#</a></h2> +<p><a href="http://joshduck.com/">Josh Duck</a> used React in order to build a Windows 8 tablet app. This is a good example of a touch app written in React. +<figure><a href="http://apps.microsoft.com/windows/en-us/app/baby-play-animal-sounds/9280825c-2ed9-41c0-ba38-aa9a5b890bb9"><img src="/react/img/blog/animal-sounds.jpg" alt=""></a></figure></p> + +<p><a href="http://apps.microsoft.com/windows/en-us/app/baby-play-animal-sounds/9280825c-2ed9-41c0-ba38-aa9a5b890bb9">Download the app...</a></p> +<h2><a class="anchor" name="react-rails-tutorial"></a>React Rails Tutorial <a class="hash-link" href="#react-rails-tutorial">#</a></h2> +<p><a href="http://selem.im">Selem Delul</a> bundled the <a href="http://facebook.github.io/react/docs/tutorial.html">React Tutorial</a> into a rails app. This is a good example on how to get started with a rails project.</p> + +<blockquote> +<div class="highlight"><pre><code class="text language-text" data-lang="text">git clone https://github.com/necrodome/react-rails-tutorial +cd react-rails-tutorial +bundle install +rake db:migrate +rails s +</code></pre></div> +<p>Then visit http://localhost:3000/app to see the React application that is explained in the React Tutorial. Try opening multiple tabs!</p> + +<p><a href="https://github.com/necrodome/react-rails-tutorial">View on GitHub...</a></p> +</blockquote> +<h2><a class="anchor" name="mixing-with-backbone"></a>Mixing with Backbone <a class="hash-link" href="#mixing-with-backbone">#</a></h2> +<p><a href="http://eldar.djafarov.com/">Eldar Djafarov</a> implemented a mixin to link Backbone models to React state and a small abstraction to write two-way binding on-top.</p> + +<iframe width="100%" height="300" src="http://jsfiddle.net/djkojb/qZf48/13/embedded/" allowfullscreen="allowfullscreen" frameborder="0"></iframe> + +<p><a href="http://eldar.djafarov.com/2013/11/reactjs-mixing-with-backbone/">Check out the blog post...</a></p> +<h2><a class="anchor" name="react-infinite-scroll"></a>React Infinite Scroll <a class="hash-link" href="#react-infinite-scroll">#</a></h2> +<p><a href="https://twitter.com/guillaumervls">Guillaume Rivals</a> implemented an InfiniteScroll component. This is a good example of a React component that has a simple yet powerful API.</p> +<div class="highlight"><pre><code class="javascript language-javascript" data-lang="javascript"><span class="o">&lt;</span><span class="nx">InfiniteScroll</span> + <span class="nx">pageStart</span><span class="o">=</span><span class="p">{</span><span class="mi">0</span><span class="p">}</span> + <span class="nx">loadMore</span><span class="o">=</span><span class="p">{</span><span class="nx">loadFunc</span><span class="p">}</span> + <span class="nx">hasMore</span><span class="o">=</span><span class="p">{</span><span class="kc">true</span> <span class="o">||</span> <span class="kc">false</span><span class="p">}</span> + <span class="nx">loader</span><span class="o">=</span><span class="p">{</span><span class="o">&lt;</span><span class="nx">div</span> <span class="nx">className</span><span class="o">=</span><span class="s2">&quot;loader&quot;</span><span class="o">&gt;</span><span class="nx">Loading</span> <span class="p">...</span><span class="o">&lt;</span><span class="err">/div&gt;}&gt;</span> + <span class="p">{</span><span class="nx">items</span><span class="p">}</span> <span class="c1">// &lt;-- This is the &quot;stuff&quot; you want to load</span> +<span class="o">&lt;</span><span class="err">/InfiniteScroll&gt;</span> +</code></pre></div> +<p><a href="https://github.com/guillaumervls/react-infinite-scroll">Try it out on GitHub!</a></p> +<h2><a class="anchor" name="web-components-style"></a>Web Components Style <a class="hash-link" href="#web-components-style">#</a></h2> +<p><a href="http://subtlegradient.com/">Thomas Aylott</a> implemented an API that looks like Web Components but using React underneath.</p> + +<iframe width="100%" height="300" src="http://jsfiddle.net/SubtleGradient/ue2Aa/embedded/html,js,result" allowfullscreen="allowfullscreen" frameborder="0"></iframe> +<h2><a class="anchor" name="react-vs-angular"></a>React vs Angular <a class="hash-link" href="#react-vs-angular">#</a></h2> +<p>React is often compared with Angular. <a href="http://skulbuny.com/2013/10/31/react-vs-angular/">Pete Hunt</a> wrote an opinionated post on the subject.</p> + +<blockquote> +<p>First of all I think it’s important to evaluate technologies on objective rather than subjective features. “It feels nicer” or “it’s cleaner” aren’t valid reasons: performance, modularity, community size and ease of testing / integration with other tools are.</p> + +<p>I’ve done a lot of work benchmarking, building apps, and reading the code of Angular to try to come up with a reasonable comparison between their ways of doing things.</p> + +<p><a href="http://skulbuny.com/2013/10/31/react-vs-angular/">Read the full post...</a></p> +</blockquote> +<h2><a class="anchor" name="random-tweet"></a>Random Tweet <a class="hash-link" href="#random-tweet">#</a></h2> +<figure><blockquote class="twitter-tweet" lang="en"><p>Really intrigued by React.js. I&#39;ve looked at all JS frameworks, and excepting <a href="https://twitter.com/serenadejs">@serenadejs</a> this is the first one which makes sense to me.</p>&mdash; Jonas Nicklas (@jonicklas) <a href="https://twitter.com/jonicklas/statuses/412640708755869696">December 16, 2013</a></blockquote></figure> + + 2014-01-06T00:00:00+01:00 + http://facebook.github.io/react/blog/2014/01/06/community-roundup-14.html + http://facebook.github.io/react/blog/2014/01/06/community-roundup-14.html + + React Chrome Developer Tools <p>With the new year, we thought you&#39;d enjoy some new tools for debugging React code. Today we&#39;re releasing the <a href="https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi">React Developer Tools</a>, an extension to the Chrome Developer Tools. <a href="https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi">Download them from the Chrome Web Store</a>.</p> @@ -630,54 +703,5 @@ Is this some sort of template language? Specifically no. This might have been th http://facebook.github.io/react/blog/2013/10/29/react-v0-5-1.html - - React v0.5 - <p>This release is the result of several months of hard work from members of the team and the community. While there are no groundbreaking changes in core, we&#39;ve worked hard to improve performance and memory usage. We&#39;ve also worked hard to make sure we are being consistent in our usage of DOM properties.</p> - -<p>The biggest change you&#39;ll notice as a developer is that we no longer support <code>class</code> in JSX as a way to provide CSS classes. Since this prop was being converted to <code>className</code> at the transform step, it caused some confusion when trying to access it in composite components. As a result we decided to make our DOM properties mirror their counterparts in the JS DOM API. There are <a href="https://github.com/facebook/react/blob/master/src/dom/DefaultDOMPropertyConfig.js#L156">a few exceptions</a> where we deviate slightly in an attempt to be consistent internally.</p> - -<p>The other major change in v0.5 is that we&#39;ve added an additional build - <code>react-with-addons</code> - which adds support for some extras that we&#39;ve been working on including animations and two-way binding. <a href="/react/docs/addons.html">Read more about these addons in the docs</a>.</p> -<h2><a class="anchor" name="thanks-to-our-community"></a>Thanks to Our Community <a class="hash-link" href="#thanks-to-our-community">#</a></h2> -<p>We added <em>22 new people</em> to the list of authors since we launched React v0.4.1 nearly 3 months ago. With a total of 48 names in our <code>AUTHORS</code> file, that means we&#39;ve nearly doubled the number of contributors in that time period. We&#39;ve seen the number of people contributing to discussion on IRC, mailing lists, Stack Overflow, and GitHub continue rising. We&#39;ve also had people tell us about talks they&#39;ve given in their local community about React.</p> - -<p>It&#39;s been awesome to see the things that people are building with React, and we can&#39;t wait to see what you come up with next!</p> -<h2><a class="anchor" name="changelog"></a>Changelog <a class="hash-link" href="#changelog">#</a></h2><h3><a class="anchor" name="react"></a>React <a class="hash-link" href="#react">#</a></h3> -<ul> -<li>Memory usage improvements - reduced allocations in core which will help with GC pauses</li> -<li>Performance improvements - in addition to speeding things up, we made some tweaks to stay out of slow path code in V8 and Nitro.</li> -<li>Standardized prop -&gt; DOM attribute process. This previously resulting in additional type checking and overhead as well as confusing cases for users. Now we will always convert your value to a string before inserting it into the DOM.</li> -<li>Support for Selection events.</li> -<li>Support for <a href="https://developer.mozilla.org/en-US/docs/Web/API/CompositionEvent">Composition events</a>.</li> -<li>Support for additional DOM properties (<code>charSet</code>, <code>content</code>, <code>form</code>, <code>httpEquiv</code>, <code>rowSpan</code>, <code>autoCapitalize</code>).</li> -<li>Support for additional SVG properties (<code>rx</code>, <code>ry</code>).</li> -<li>Support for using <code>getInitialState</code> and <code>getDefaultProps</code> in mixins.</li> -<li>Support mounting into iframes.</li> -<li>Bug fixes for controlled form components.</li> -<li>Bug fixes for SVG element creation.</li> -<li>Added <code>React.version</code>.</li> -<li>Added <code>React.isValidClass</code> - Used to determine if a value is a valid component constructor.</li> -<li>Removed <code>React.autoBind</code> - This was deprecated in v0.4 and now properly removed.</li> -<li>Renamed <code>React.unmountAndReleaseReactRootNode</code> to <code>React.unmountComponentAtNode</code>.</li> -<li>Began laying down work for refined performance analysis.</li> -<li>Better support for server-side rendering - <a href="https://github.com/facebook/react-page">react-page</a> has helped improve the stability for server-side rendering.</li> -<li>Made it possible to use React in environments enforcing a strict <a href="https://developer.mozilla.org/en-US/docs/Security/CSP/Introducing_Content_Security_Policy">Content Security Policy</a>. This also makes it possible to use React to build Chrome extensions.</li> -</ul> -<h3><a class="anchor" name="react-with-addons-new"></a>React with Addons (New!) <a class="hash-link" href="#react-with-addons-new">#</a></h3> -<ul> -<li>Introduced a separate build with several &quot;addons&quot; which we think can help improve the React experience. We plan to deprecate this in the long-term, instead shipping each as standalone pieces. <a href="/react/docs/addons.html">Read more in the docs</a>.</li> -</ul> -<h3><a class="anchor" name="jsx"></a>JSX <a class="hash-link" href="#jsx">#</a></h3> -<ul> -<li>No longer transform <code>class</code> to <code>className</code> as part of the transform! This is a breaking change - if you were using <code>class</code>, you <em>must</em> change this to <code>className</code> or your components will be visually broken.</li> -<li>Added warnings to the in-browser transformer to make it clear it is not intended for production use.</li> -<li>Improved compatibility for Windows</li> -<li>Improved support for maintaining line numbers when transforming.</li> -</ul> - - 2013-10-16T00:00:00+02:00 - http://facebook.github.io/react/blog/2013/10/16/react-v0.5.0.html - http://facebook.github.io/react/blog/2013/10/16/react-v0.5.0.html - - diff --git a/img/blog/animal-sounds.jpg b/img/blog/animal-sounds.jpg new file mode 100644 index 0000000000..b3d3780e1d Binary files /dev/null and b/img/blog/animal-sounds.jpg differ