React是Facebook开源的一个用于构建用户界面的Javascript库,已经应用于Facebook及旗下Instagram。node
和庞大的AngularJS不一样,React专一于MVC架构中的V,即视图。这使得React很容易和开发者已有的开发栈进行融合。架构
React顺应了Web开发组件化的趋势。应用React时,你老是应该从UI出发抽象出不一样的组件,而后像搭积木同样把它们拼装起来:组件化
不过,React定义组件的方式和AngularJS大相径庭。若是说HTML是一个轮子,AngularJS 的指令/Directive则是给这个轮子镶了个金边,而React,从新造了个轮子: JSX。性能
React抛弃HTML另起炉灶的缘由之一是性能的考虑:DOM操做很是之慢。React引入了 虚拟DOM的概念:开发者操做虚拟DOM,React在必要的时候将它们渲染到真正的 DOM上 —— 有点像游戏开发中的双缓冲区/Double Buffer帧重绘。spa
引入虚拟DOM的另外一个好处是,容易引入不一样的渲染引擎。好比将你的应用代码渲染 到真实的DOM,或者nodejs服务端的无头DOM,或者,iOS/Android平台组件 —— 这就是 React Native :blog