Angular 是基於 TypeScript 的 Javascript 框架。由 Google 進行開發和維護,它被描述爲「超級厲害的 JavaScript MVW 框架」。Angular(也被稱爲 「Angular 2+」,「Angular 2」 或者 「ng2」)已被重寫,是與 AngularJS(也被稱爲 「Angular.js」 或 「AngularJS 1.x」)不兼容的後續版本。當 AngularJS(舊版本)最初於2010年10月發佈時,仍然在修復bug,等等 —— 新的 Angular(sans JS)於 2016 年 9 月推出版本 2。最新的主版本是 4,由於版本 3 被跳過了。html
React 被描述爲 「用於構建用戶界面的 JavaScript 庫」。React 最初於 2013 年 3 月發佈,由 Facebook 進行開發和維護,Facebook 在多個頁面上使用 React 組件(但不是做爲單頁應用程序)。前端
Vue 是 2016 年發展最爲迅速的 JS 框架之一。Vue 將本身描述爲一款「用於構建直觀,快速和組件化交互式界面的 MVVM 框架」。它於 2014 年 2 月首次由 Google 前員工 Evan You 發佈。vue
對比 | Vue | React | Angular |
---|---|---|---|
出現年月 | 2014-2 | 2013-3 | 2010-10 |
框架類型 | MVVM | MVC | MVW |
開源許可 | MIT license | BSD3-license | MIT license |
MIT license 與 BSD-license 之間的區別是:MIT license 容許衍生軟件加上咱們本身的名字作推廣,而 BSD license 不能夠。
Vue | React | Angular | |
---|---|---|---|
開發與維護 | 獨立開發者 | ||
團隊人數 | 25 | 未知 | 40 |
stars | forks | issues | updated | created | |
---|---|---|---|---|---|
angular.js | 59308 | 29000 | 487 | Dec 18, 2018 | Jan 6,2010 |
Vue | 122678 | 17540 | 230 | Dec 20, 2018 | Jul 29,2013 |
React | 117977 | 21403 | 525 | Dec 20, 2018 | May 25,2013 |
angular | 43663 | 11223 | 2618 | Dec 20, 2018 | Sep 19,2014 |
統計的數據有時效性,如需瞭解最新的數據點我java
百度指數上的一個比較react
搜索指數:指的是關鍵詞最近一個月的整體搜索指數表現。git
日均值:一段時間內搜索指很多天均值。angularjs
同比:與去年同期的同比變化率。github
搜索指數趨勢:互聯網用戶對鍵詞搜索關注程度及持續變化狀況。web
谷歌趨勢算法
2. 按區域比較細分數據
stackoverflow
Stack Overflow 是一個與程序相關的 IT 技術問答網站。該網站擁有 400 萬用戶,每個月 5.6 億的頁面瀏覽量。
咱們對 Stack Overflow 2018 調查報告 進行分析(數據統計時間與本文時間差距較遠,數據存在延後)。
Angular 與 React 排名靠前,Vue 未上榜。 * 目前你們最喜好的技術框架排名:
相對 Angular 來講,React 的表現很搶眼,Vue 未上榜。
statejs 網站使用了一套包含上百個問題的問卷調查,從超過 20000 名開發者中得出的 2018 年關於前端框架調查,結果 以下:
較多開發者想學 Vue,而 React 目前擁有最多的開發者。
總結:國內 流行 Vue,國外流行 React。
------------------------------
對比 | Vue | React | Angular |
---|---|---|---|
基於組件 | 擅長 | 擅長 | - |
依賴標準 | ES6 或 ES6 | ES6 | TypeScript |
底層技術 | 單個文件(模板+腳本+樣式) | JSX | 模板 |
數據綁定 | 單/雙向綁定 | 單向綁定 | 雙向綁定 |
支持原生開發 | 支持(Weex) | 支持(react-native/react-native-renderer) | 支持(NativeScript、Ionic) |
服務端渲染 | nuxt.js | next.js | Angular Universal |
瀏覽器兼容 | ie8 + | ie9 + | ie9 + |
學習曲線 | 簡單 | 中等 | 陡峭 |
底層技術
瀏覽器兼容:
React兼容全部經常使用的瀏覽器,包括IE9及以上的版本。
注意:咱們不支持那些不兼容ES5方法的老版瀏覽器,但若是你的應用包含了polyfill,例如es5-shim 和 es5-sham,你可能會發現你的應用仍然能夠在這些瀏覽器中正常運行。若是你選擇這麼幹,你就只能孤軍奮戰了。
學習曲線:
Vue,你只須要有良好的 HTML 和 JavaScript 基礎。有了這些基本的技能,你就能夠很是快速地經過閱讀 指南 投入開發
任何框架都不會十全十美:Angular 框架很是臃腫。gzip 文件大小爲 143k,而 Vue 爲 23K,React 爲 43k。
爲了提升性能,React 和 Vue 都使用了虛擬 DOM(Virtual DOM)。
Angular,React 和 Vue 性能比較(源文件)
內存分配(源文件)
總結一下:Vue 有着很好的性能和高深的內存分配技巧。若是比較快慢的話,這些框架都很是接近(好比 Inferno)。請記住,性能基準只能做爲考慮的附註,而不是做爲判斷標準。
本文首發於github,若是對你有幫助,能夠給我點個star,謝謝