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