2015-08-28 41 views
2

我們正在嘗試製作一個從Angular轉到Flux + React的優點和缺點列表,並附帶了這個原始列表。Angular vs React + Flux對比表 - 我的信息是否正確?

任何人都可以對辯論作出反應(請參閱我在這裏做了什麼? (請專門針對每次辯論而不是關於庫的一般性討論)。

謝謝!

-------------------------------------------------------------------- 
      |  Angular  |  React + Flux   
-------------------------------------------------------------------- 
Version  | 1.+ major version. | React 0.13 - not version 1 (
      | Supported.   | minor) - not finalized, can be 
      | 2.0 - migration  | changed drastically. 
      | possible easily  | Flux 2.1. 
-------------------------------------------------------------------- 
Age   | 6 years (easier find | react 2 years 
      | developers)   | 
-------------------------------------------------------------------- 
Framework | Yes, MVC    | React is only view. Flux is a 
      |      | pattern, not MVC. 
-------------------------------------------------------------------- 
Community |More existing resources| Much less, than Angular. 
      |answers,ready 3rd party| Community smaller. Less. 
      |reusable code modules. | answers, etc. 
--------------------------------------------------------------------- 
Speed  |Rendering: slower  | Rendering: faster 
      |Load time: slower  | Load time: faster 
      |reusable code modules. | 
--------------------------------------------------------------------- 
Testing  |U tests. e2e everything| U tests. 
      |is ready to use.  | Separated/new 
      |Has integrated system. | testing system. 
--------------------------------------------------------------------- 
jQuery +  |Lite is build-in inside| No jQuery support.Need to check 
plugins  |Maintain 1 library  | compatibility issues with each 
      |Has integrated system. | version update 
      |      |(need maintain 2 libraries). 
--------------------------------------------------------------------- 

回答

2

向Angular 2.0的遷移並不那麼清晰AFAIK。

Angular的第一個穩定版本在2013年左右出現,我想這應該是年齡。

我不希望React改變很多,因爲它實際上很簡單(比Angular簡單得多,我的意思是更少的概念學習)。

我發現React社區非常活躍,並且有lots of ready-to-use components

測試React組件可能會很棘手,因爲Jest(Fb推薦工具)是buggy。但是一旦你明白了(例如使用摩卡/純茉莉花),你就可以在節點中快速測試。另一方面,我發現Karma(由Angular推薦)緩慢且不穩定,儘管測試最初更容易編寫。

我覺得React組件比Angular更容易重用,因爲Angular強制你使用它的DI引擎,如果你使用browserify或webpack捆綁你的代碼,你不需要這個(我強烈推薦使用其中的一個他們)。

You can use jQuery stuff in React,但我會建議避免這種情況,因爲如果你的任何插件修改DOM控制的部分是React,你的應用程序將會慘敗。在Angular中,在這種情況下,通常只有一些事情會中斷,而應用程序的其他部分繼續工作。 (實際上哪些行爲真的不明顯,我在這裏是React)。

順便說一句,你錯過了比較中的一個非常重要的點:React可以渲染東西服務器端,沒有DOM。這對我來說是一個殺手鐗。


我還有一個私人建議:如果你正在開始一個新項目,考慮你需要多長時間才能支持它。如果一年,採取Angular。如果兩三,採取反應。如果更多,read this並給自己更多時間思考:)

+0

謝謝! 1.我同意Angular更復雜,可重用性更低。 2.因此,我們有更多jQuery支持的框架解決方案,這個觀點是有效的,更少的插件可供我們使用。 3.文章其實很棒。最後是一個垃圾郵件(: – alodium

7

我從角度移動反應,不會回去。作爲一個很長時間的全棧開發人員,反應框架允許更清潔的代碼環境。我的印象是,反應將更多地吸引編碼人員,因爲角色可能更多地吸引網絡工程師。

版本:反應可能在0.13,但它被用於Facebook的生產,所以不太可能改變。我看到的原因之一首先是反應,谷歌不太明確使用角度或支持它自己使用的計劃。

框架:React提供了比角度更清晰的問題分離。 React組件只需要在視圖上進行聚焦。 Flux商店可以處理所有的業務邏輯。試圖從角度上獲得相同的清晰度是至關重要的。

社區:主要是因爲少得多。React只是簡單地加快速度。速度:React的開發速度也更快,並且可以具有可重用組件。

jQuery +插件:我認爲jQuery是一個有用的工具,可以在html5爲web開發提供適當的平臺之前使其工作。

只有一個開發人員的意見。

+0

那麼你對MVC或結構做什麼?創建你自己的? – alodium

+1

「反應可能在0.13,但它被用於facebook的生產」 - 實際上,facebook [使用React'0.14.0- beta3已經](https://twitter.com/matzatorski/status/633540204247261185)。:) – mik01aj

+0

模型 - 服務器,視圖 - 組件,控制器 - 存儲。我的反應項目比我的角色項目多得多。無論標籤如何,結構幾乎總是取決於開發人員。 –