# 一,React簡單介紹
React 是一個 Facebook 和 Instagram 用來創建用戶界面的 JavaScript 庫。
很多人認為 React 是 MVC 中的 V(視圖)。
我們創造 React 是為了解決一個問題:構建隨著時間數據不斷變
化的大規模應用程序。為了達到這個目標,React 采用下面兩個主要的思想。
1:僅僅只要表達出你的應用程序在任一個時間點應該長的樣子,然后當底層的數據變了,React 會自動處理所有用戶界面的更新
2:數據變化后,React 概念上與點擊“刷新”按鈕類似,但僅會更新變化的部分。
* * * * *
# 二,Reactjs的優缺點
**優點:**
* 簡單的界面設計和學習API。
* 比其他JavaScript框架顯著的性能提升。
* 更快的更新。React使用最新的數據創建新的虛擬DOM和修補機制,并高效地將其與以前的版本進行比較,創建一個最小的更新部分列表,使其與真正的DOM同步,而不是每次更改時重渲染整個網站。
* 服務器端渲染允許創建同構/通用web app。
* 容易導入組件,盡管具有很少的依賴性。
* 良好的代碼重用。
* 非常適合JavaScript調試。
* 完全有可能用React增強Angular以增強麻煩的組件的性能。
* 完全基于組件的架構。
* JSX,一種JavaScript擴展語法,允許引用HTML并使用HTML標記語法來渲染子組件。
* React本地庫。
**缺點:**
* 不是一個完整的框架,而是一個庫。
* 非常復雜的視圖層。
* Flux架構不同于開發人員習慣的范例。
* 很多人不喜歡JSX。
* 陡峭的學習曲線。
* 將React集成到傳統的MVC框架,如Rails中需要一些配置。
* react 確實只是一個view,不能開箱即用, 需要依賴的第三方庫太多。
* * * * *
**深入Angular vs React vs Ember**
許多開發人員因為JavaScript框架的種類繁多而感到眼花繚亂——框架外觀和功能非常不同。
讓我們來比較一下三個最流行和廣泛使用的JavaScript框架的優勢:AngularJS,ReactJS和EmberJS。

* * * * *
**比較Angularjs Vs Reactjs Vs Emberjs功能**

* * * * *
**定義你的需求并使選定的框架發揮最大的作用**
確定哪個框架適合你,只需要評估應用程序的需求以及每個框架的優勢即可。這需要深入了解所考慮的每個框架的優點和缺點,以及它們如何在不同用例下競爭。所有框架都有很多共同點:開源,在許可證下發布,并創建具有MVC設計模式的SPA。它們都有視圖,事件,數據模塊和路由。然而,不同的JavaScript框架更適合不同類型的應用程序。
如果你正在決策創建一個web app,對于長期支持和活躍的社區,Angular,React和Ember是最安全的。此外,目前Angular是這三個中最受歡迎的。你可以一站式使用。它是大型企業的首選框架。Ember是那些尋求全工具包含框架方法的人的最佳解決方案。Ember可以幫助你做出許多決策,所以你不必花時間研究和膠合庫。由于Ember需要很長時間學習,所以它適合長期項目。React是上面提名的三個框架中最輕量級的。它的偉大在于一件事:渲染UI組件。許多人甚至將其與前面提到的框架進行配對。如果你需要逐漸現代化現有的代碼庫,那么這是一個合適的選擇。
正如你看到的,沒有明確的勝利者。有的框架比其他框架更適合特定的項目。當然,你也可以從幾個不同的角度檢查你的項目,包括成熟度,大小,依賴性,互操作性,功能等,并聯系專業的前端web開發公司來構建完美的網站架構和網站設計,以便于更好地滿足你的業務。