You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@corinthia.apache.org by "Dennis E. Hamilton" <de...@acm.org> on 2015/02/11 16:51:05 UTC

FYI: React.js and Virtual DOM Diffing

This just crossed my desk this morning: <http://www.devx.com/blog/dev_issues/build-composable-ui-components-for-large-scale-applications.html>.

A better view into React.js is at <https://github.com/facebook/react>.  The licensing is BSD with a separate Patent license, and they take CLAs based on the ASF iCLA.

The project is closely held in that it is open-source but it is kept aligned with what Facebook needs for its use, including potential API changes.

I am in no position to assess the details of react.js, but the following high-altitude points caught my eye:

 1. The react.js-based components respond to changes in the data behind them (proposed to provide good separation for the V of Model-View-Controller).

 2. It can work in node.js with cooperation between client (browser) and server (web site).  There's some sort of iOS support too.

 3. There is use of a virtual DOM diff scheme for communication of changes (it appears).  Along with that there is some sort of XML-JSON and HTML syntax lashup. 

This appears to be a high-quality activity (with a large collection of related/supporting tools).

I have no proposal about this.  It is just something that may be worth paying attention to.

 -- Dennis E. Hamilton
    orcmid@apache.org
    dennis.hamilton@acm.org    +1-206-779-9430
    https://keybase.io/orcmid  PGP F96E 89FF D456 628A
    X.509 certs used and requested for signed e-mail



Re: FYI: React.js and Virtual DOM Diffing

Posted by Louis Suárez-Potts <lu...@gmail.com>.
> On 11-02-2015, at 10:51, Dennis E. Hamilton <de...@acm.org> wrote:
> 
> This just crossed my desk this morning: <http://www.devx.com/blog/dev_issues/build-composable-ui-components-for-large-scale-applications.html>.
> 
> A better view into React.js is at <https://github.com/facebook/react>.  The licensing is BSD with a separate Patent license, and they take CLAs based on the ASF iCLA.
> 
> The project is closely held in that it is open-source but it is kept aligned with what Facebook needs for its use, including potential API changes.
> 
> I am in no position to assess the details of react.js, but the following high-altitude points caught my eye:
> 
> 1. The react.js-based components respond to changes in the data behind them (proposed to provide good separation for the V of Model-View-Controller).
> 
> 2. It can work in node.js with cooperation between client (browser) and server (web site).  There's some sort of iOS support too.
> 
> 3. There is use of a virtual DOM diff scheme for communication of changes (it appears).  Along with that there is some sort of XML-JSON and HTML syntax lashup. 
> 
> This appears to be a high-quality activity (with a large collection of related/supporting tools).
> 
> I have no proposal about this.  It is just something that may be worth paying attention to.
> 
> -- Dennis E. Hamilton
>    orcmid@apache.org
>    dennis.hamilton@acm.org    +1-206-779-9430
>    https://keybase.io/orcmid  PGP F96E 89FF D456 628A
>    X.509 certs used and requested for signed e-mail
> 
> 
This is interesting; I looked over the documents. I found the links on the Wikipedia entry of interest, as they highlight the uptake by commercial interests. See https://en.wikipedia.org/wiki/ReactJS (There also seem stop be some tension between Angular.js and React.js, though given how young React is—2013—seems early days.)

The DailyJS seems to have a good account of the language and its support. See http://dailyjs.com/2013/08/15/react/

Beyond that, I was curious about the effort Facebook was putting into it. The React.js Conference already happened for this year, 28 Jan. See http://goo.gl/HRkzXj Links to the Facebook dev. channel.

How would it compare to, say, Meteor, the Web framework? See https://en.wikipedia.org/wiki/Meteor_(web_framework) One issue is that Meteor is under the MIT license. I don’t know how that would interact with ASL2. However, Meteor is written "on top of Node.js," which is suggestive of support and use. (Node.js just formed, you might be aware, its own Foundation, so as to add some distance between it and Joyent.)

-louis