探索Angular,React,Vue的2019年趨勢比較

小囉嗦

筆者從15年初識用node.js搭建Web前端,後又因老東家接了一些國內的外包項目,慢慢偏向了移動端。16年初有幸經過帶個人技術大佬,偶然接觸了前端框架並在公司推廣那時候發展最成熟的Angular。對於咱們這種從Web服務端搬遷過來作移動端的來講,Angular這個成熟的框架確實拯救了咱們。以致於如今,我都對它有一種情有獨鍾的念念不捨。javascript

今年年初剛從上海搬到杭州這邊的時候尤爲不適應,由於我發現杭州這邊廣泛是用React,Vue,包括如今的新東家也是React。迫於現實,爲了能在杭州找到一份本身還算滿意的工做,着實好好惡補了一番。在新東家實際投入使用React已經近一個月了,如今纔開始動筆記錄整理一些。html

惶恐開篇

前端的知識點涉及範圍之廣,迭代更新之快,每每打得咱們措手不及。它不像後端Java,要求研發人員掌握核心底層、算法永恆經典。爲了避免掉隊,咱們須要時刻保持低調學習的探索精神,時刻把本身當成一個產品經理,貼近客戶、市場需求,用咱們的技術去驅動前端的優化。前端

本文主要蒐集了一波各大平臺關於前端技術框架Angular(Google團隊維護)、React(Facebook團隊維護)、Vue(前Google員工主維護)趨勢的數據,在此基礎上,筆者斗膽總結預測了幾點。vue

Angular, React, Vue背景介紹

首先,Angular是三大框架裏最先針對頁面性能問題提出的優化探索,並在2010年由Google對外發布。Google團隊仍是頗有遠見的,也在業界掀起了一陣熱潮,react,vue後面相繼出現。然而Angular因爲最先開始,那時候移動端尚未興起,一開始定位的Web端有些不適應後來的移動端趨勢,致使後面有個大的版本迭代。Angular團隊在保持性能優化的核心方案的同時,適應移動端化、組件化的大熱潮流,2016年推出了Angular2。而且官方團隊在2018年將AngularJS宣佈將進行LTS長期維護時間,之後將再也不提供支持和更新。雖然目前不少團隊的應用仍是基於AngularJS,官方也建議儘快遷移。
java

React由Facebook在2013年正式對外發布,並一直由Facebook團隊負責維護和推廣。在 Chris Cordle 這篇文章的統計中,React 在 Facebook 上的使用遠遠多於 Angular 在 Google 上的使用。React 還被 Airbnb,Uber,Netflix,Twitter,Pinterest,Reddit,Udemy,Wix,Paypal,Imgur,Feedly,Stripe,Tumblr,Walmart 等使用(根據 Facebook, stacksharelibscore.com 提供的數據)。node

Vue是 2016 年發展最爲迅速的 JS 框架之一。2014 年 由Google 前員工 Evan You 發佈。就這樣核心開發幾十我的的團隊,能獲得這麼多關注無疑是很是成功了。目前,Vue 被阿里巴巴,百度,Expedia,任天堂,GitLab 使用 — 能夠在 madewithvuejs.com 找到一些小型項目的列表。react

Angular 和 Vue 都遵照 MIT license 許可,而 React 遵照 BSD3-license 許可證。我的以爲Facebook 2017年的這個決策將很大程度上影響它的市場佔有率,畢竟仍是有不少公司介意專利受權這件事的。即使Facebook已經作出聲明。在Facebook團隊發佈15.6.2版本(BSD license)以後,Facebook迫於社區的抵制,以及各個公司、平臺的撤銷的壓力,專門修改了React的license問題,github issue請參考這裏官方詳細聲明請參考這裏(很是感謝Set同窗的指正)git

熱搜趨勢

Google趨勢

Google是國際上通用的主流搜索引擎,首先讓咱們看看來自於全球範圍內,近一年(20180630-20190630),Google趨勢中有關React、Angular和Vue.js的對比。(因爲各類名稱和版本,這裏選擇近似的方法「互聯網與電信」類別中的搜索。)github



能夠看到,在市場份額這塊兒,react後來居上,angular其次,vue這個新貴目前所佔仍是偏少。根據stackoverflow(一個IT界比較權威的問答網站)2018年調查,知道angular的人佔36.9%,27.8%的人瞭解React,幾乎沒人知道Vue。因此目前開發人員中的主流仍是Angular和React。web

百度指數

筆者認爲對於我們國內行情,google統計的可能不如百度來的更精確點。(額,你懂的)


這裏能夠看出,在國內,Vue的新潮不是空穴來風,它的熱搜量仍是穩居第一併繼續持續提高的趨勢。React, Angular都相對平緩。

技術人員的跟隨趨勢

Github統計

Github是世界領先的軟件開發平臺,大量的全球開發者都在上面開源進行技術交流。因此,筆者這裏本身統計了截止到2019年6月29日的angular, react, vue的官方維護倉庫地址的相關:



由圖可見,在Github Star方面,React, Vue勢頭正興,Angular已近乎平緩。Angular, React在開發維護人員上面,因爲Google, Facebook極力推廣且其自己自有一套複雜的流程,追隨其後的開發者們很多。這一點,Vue就相對偏低了。但也不排除Vue是因爲其簡單的開發成本,不須要太多人來維護。

NPM趨勢預測

目前世界上最大的開源庫集合,NPM,憑藉着擁有超過836,000個可用的開源庫吸引了更多的js開發者。使用這三種框架開發的應用,最終輸出都是javascript跑在瀏覽器。雖然Angular最先擁抱了Typescript這個JS超集,但編譯以後,依舊是輸出JS。

那麼這些開發者在NPM上對這三種框架是怎麼選擇的呢?



能夠看到,React雖然市場份額佔最大,但目前發展趨勢已減緩。Angular依舊保持平緩狀態。Vue雖然市場份額小,但漲勢迅猛。

一點小結和預測

筆者作這個趨勢探索整理,並非真的爲了區分哪一個框架好,哪一個框架還欠缺。而是經過這樣的探索,咱們能夠大概瞭解如今市場行情。從而提醒本身,做爲前端,你須要有這個敏銳的嗅覺,保持警戒,跟上學習潮流。而不至於要換工做時,像筆者這樣倉皇去惡補。。。

1. 從市場份額來看,React目前依舊佔大額,但之後說很差,畢竟有個BSD license的問題爭論。(不少公司和我的都已經遷移,由於目前Facebook旗下不少開源項目還都是BSD, 不肯定哪天Facebook又把React切換回BSD。) Angular的趨勢平緩,且有Google團隊的支持,應該之後依舊會保持着現有的狀態。Vue新貴雖然目前市場份額不大,可是發展趨勢很迅猛,且跟多家大平臺合做,在國內的資訊、媒體、社區都很活躍,因此發展前景仍是可觀的。

2. 從社區支持來看,前面已經說過,Facebook支持着React,而Google支持着Angular,所以這兩種框架的增加是毋庸置疑的。它們可以持續獲得更新與發佈,在碰到遷移時也有着很好的維護與支持。React和Angular的開發人員都聲稱:升級不是問題,他們會每六個月發佈一次主要更新。

另外,因爲Angular是一個完備的框架,而React是一組更獨立、更快捷、且不斷改進的庫,所以React比Angular更靈活。不過,您也必須關注那些可能再也不被支持或維護的小模塊。

而Vue這方面更缺失,沒有一個明確的長遠版本規劃的路線圖。

3. 從框架、庫角度來講,Angular是一個完備的框架,您沒必要查看各類庫、路由方案和其具體結構,就能快速地開始構建。雖然Angualr4系列以後也在逐步減重,但不得不說,相比較React和Vue相對來講,仍是厚重一些。React能夠集成不少庫來無縫鏈接搭建應用,但也所以致使React出錯率和依賴性都偏高一些。Vue則是平衡了內部依賴和靈活性這塊兒,因此相對來講輕而方便使用。

4. 從學習曲線來看,Angular和React都有本身的一套,尤爲Angular還有依賴注入的層次結構概念,不少都本身集成了,學習成本偏高。從這點來講,Vue的門檻真的很低。難怪如今不少公司偏向Vue, 人力成本低。

隨着微應用和微服務的興起,React和Vue的靈活性更適合開發。Angular更偏單頁應用。但Angular是最先擁抱typescript的(在npm2018年的調研中,編譯js方法裏以46%的佔比一躍成爲第二,緊跟Babel以後),也是最先將RxJS思想貫徹到底的框架。我的建議,typescript學習起來,Angular+typescript仍是不能拋棄,若是你尚未學習React,趕忙學起來。Vue學習成本偏低,且用的是最通用的js+html,指令式寫法跟angular也相似,有時間能夠練習一下。


參考連接

1. Google趨勢: trends.google.com/trends

2. Baidu指數:index.baidu.com/v2/main/ind…

3. NPM發佈對於2019年JS趨勢的預測: img04.en25.com/Web/NPMInc/…

4. NPM趨勢: www.npmtrends.com/angular-vs-…

5. Stackoverflow2018年社會調查: insights.stackoverflow.com/survey/2018…

6. Angular, React, Vue的全面比較指南: developer.51cto.com/art/201809/…

相關文章
相關標籤/搜索