Vue.js 超越 React.js?勿以 star 數論高低!

上週在前端的 JavaScript 框架世界發生了一件稱得上是「里程碑」的事:Vue.js 在 GitHub 上的 star 數量終於超過了 React.js 的 star 數量。前端


經過使用一個叫作 Star History 的工具,咱們能夠清楚看到:React 長期以來的「歷史主導地位」是如何慢慢被暴漲的 Vue 所超越。vue


一般狀況下,當框架的流行度提升時,每每會引起大量關於哪一個框架「確實」更受歡迎、哪一個框架更強大以及其餘方面的爭論。react

項目的 star 數量 vs 實際使用狀況

不要誤解個人意思,我很喜歡 Vue —— 最近我使用它的頻率遠遠超過了 React 的頻率,但一個項目在 github 上的 star 數量更多的是衡量它的「流行」程度,而不是實際使用狀況。下面舉一個明顯的例子,咱們拿比較流行的 Apache 服務器 httpd 和一個相對來講意義沒那麼重大的 JavaScript 項目 colors.js 來對比:git


支持着 38% 互聯網的 Web 服務器在 GitHub 上擁有 1766 個 star,而爲 Node 控制檯添加顏色的 JavaScript 庫有 3206 個 star。

所以,爲了更好地瞭解 Vue vs React 的相對流行度,咱們須要一些方法來衡量項目的實際使用狀況。程序員

用項目在 NPM 的下載量做爲實際使用狀況的參考

沒有存在完美的衡量手段 —— 由於安裝和使用這些項目有不少種辦法,之因此選擇了 npm 做爲參考是由於 npm 已經成爲安裝 JavaScript 包的事實標準。github

若是咱們查看每一個框架的核心軟件包的下載統計數據 —— vue 軟件包和 react 軟件包,它們應該能反映出合理的實際使用狀況。npm

爲此,我使用了一個名爲 npm-stat.com 的網站,經過該網站,你能生成可回溯到2015年2月的 NPM 軟件包的歷史下載圖(這與 NPM 註冊管理機構報告下載數據的時間相同)。服務器

由數據可知:React 仍然處於主導地位

縱觀過去兩年的數據,咱們能夠看到,與 github 的 star 數造成鮮明對比的是,根據 NPM 軟件包的下載量來衡量,React 仍然在實際使用方面佔據主導地位。框架


這並非說 Vue 在被採用方面的數據表現不佳 —— 事實上,Vue 在這方面的倍數略有增長,從2016年6月大約 12:1 的比例(1.693M vs 141.5k)降低到2018年5月 7:1 的比例(9.388M vs 1.374M),二者的差距明顯的縮小了。但在實際使用方面, React 仍然與 Vue 保持着巨大的差距。工具

添加 Angular 以進行綜合對比

雖然上面的討論主要集中在 React 和 Vue,但咱們仍是要看一下前端「三大」框架的其餘成員,Angular。

因爲 Angular 社區包含 「Angular.js」 和 「Angular」 這兩個版本(Angular 2 及以後的版本都叫 Angular,使用 TypeScript 編寫),所以將這兩個都添加到咱們的比較中。

首先,就 github 的 star 數目來看:


咱們能夠看到 Angular.js 與 React 和 Vue 相比曾一度處於領先的地位,但在2016年年中被 React 超越,而後2017年被 Vue 超越。第二個迭代版本 Angular 自2016年9月推出以來,它的 star 數目逐漸上升,如今也已經慢慢遇上了 Angular .js,但在受歡迎程度方面依然處於第四位。

Angular 的 NPM 下載狀況

觀察兩個 Angular 版本的實際使用狀況而不是 star 數目,咱們能夠發現不同的東西。


‘angular’ 即 Angular.js,@angular/core 是 Angular

從使用方面來看,新版 Angular 在發佈後當即從 Vue 和 Angular.js 中冒出來,從那時起一直保持領先地位,儘管遠沒有接近 React。

在此期間,Vue 在2016年9月的下載量約爲 Angular.js 和 Angular 總和的 1/3,並於2018年5月達到 1/2,還超過了 Angular.js。

總結:React 仍處於主導地位,Vue 增加得愈來愈快

經過深刻了解 NPM 的下載統計數據,咱們發現儘管你們都圍繞着 Vue 瘋狂增加的 star 數來大肆宣傳,但 React 仍然在 JavaScript 框架世界中穩坐「主導」的位置。它即將超過每個月1000萬的巨大下載量,而且還一直保持着高速的增加。

但在過去的兩年中,Vue 的增加速度比其餘任何主流的 JavaScript 框架都快,最近遇上了 Angular.js,並逐漸縮小了它與 Angular 和 React 之間的差距。

爲了學習工做與休閒娛樂互不衝突,現新建圈【碼農茶水鋪】用於程序員生活,愛好,交友,求職招聘,吐槽等話題交流,但願各位大神工做之餘到茶水鋪來喝茶聊天。羣號:582735936

相關文章
相關標籤/搜索