前端三大主流框架的對比React、Vue、Angular

1. 組件

React 和 Vue 都擅長處理組件:小型的無狀態的函數接收輸入和返回元素作爲輸出。Angular 沒有組件化的概念。

2. Typescript,ES6 與 ES5

React 專注於使用 ES6。Vue 使用 ES5 或 ES6。Angular 依賴於 TypeScript。

3. 模板 —— JSX 還是 HTML

React 使用 JSX 模板,把 'HTML' 放到 JS 中。Vue 既可以用 JSX 模板也可以用 HTML 模板,具有“單個文件組件”。Angular 使用 HTML模板,把 'JS' 放到 HTML 中,使用特殊的 Angular 語法(比如 ngIf 或 ngFor)來增強 HTML。

4. 框架和庫

Angular 是一個框架而不是一個庫,因爲它提供了關於如何構建應用程序的強有力的約束,並且還提供了更多開箱即用的功能。Angular 是一個 “完整的解決方案” - 功能齊全,你可以愉快的開始開發。你不需要研究庫,路由解決方案或類似的東西 - 你只要開始工作就好了。

React 和 Vue 是很靈活的。他們的庫可以和各種包搭配。然而,靈活性越大,責任就越大 - React 沒有規則和有限的指導。每個項目都需要決定架構,而且事情可能更容易出錯。

Vue 似乎是三個框架中最輕量的。簡單易用 —— 源代碼非常易讀,不需要任何文檔或外部庫。

5. 狀態管理和數據綁定

React 經常與 Redux 在一起使用。Redux 以三個基本原則來自述:

  • 單一數據源
  • State 是隻讀的
  • 使用純函數執行修改

Vue 可以使用 Redux,但它提供了 Vuex 作爲自己的解決方案。

React 屬於單向數據流,Angular 屬於雙向數據綁定,Vue 支持單向綁定和雙向綁定(默認爲單向綁定)。

6. 體積和性能

Angular 框架非常臃腫,gzip 文件大小爲 143k,而 Vue 爲 23K,React 爲 43k。

7. 通用與原生 app

     React 和 Angular 都支持原生開發。Angular 擁有用於原生應用的 NativeScript 和用於混合開發的 Ionic 框架。藉助 React,你可以用 react-native-renderer 來構建跨平臺的 iOS 和 Android 應用程序,或者用 react-native 開發原生 app。 

8. 學習曲線  

Angular 的學習曲線確實很陡。對於 React,你可能需要針對第三方庫進行大量重大決策。僅僅 React 中就有 16 種不同的 flux 軟件包來用於狀態管理可供選擇。Vue 學習起來很容易。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章