今天Vue Star突破100K,正式超越了React

geeknull發表於2018-06-15

今天VueStar突破了100K,正式超越React

從我寫文章開始就記錄這個曲線圖,可以看到Vue僅有微弱優勢,目前戰況激烈,直接看圖:

今天Vue Star突破100K,正式超越了React

今天Vue Star突破100K,正式超越了React

圖片摘自 https://hubble.js.org/react-vs-vue/

前端框架的演進越來越激烈,越來越快,以至於出現了求不要更新了,老子學不動了

long long ago,大家寫還在寫vanilla .js,那個號稱壓縮有0KB,相容所有瀏覽器效能又極佳的框架,我笑而不語,因為其實也偷偷的用過好多次vanilla.js

之後瀏覽器大戰,各種瀏覽器的API相容成了頭痛的問題,jQuery從眾多框架中脫穎而出,統治了前端行業將近10年,要說歷史意義,我認為目前沒有任何框架超過jQuery。就像智慧手機一樣,現在出了很多功能酷炫的智慧手機,我還是認為沒有智慧手機在歷史意義上超過iPhone 4

再之後,Backbone出現了,類MVC的思想框架越來越來多,都在解決這大型應用分層,去解耦不同功能的邏輯問題,但是隨著業務邏輯越來越複雜,同步Model的資料到View這件事情變得越來越繁瑣。

AngularJS解決了ModelView同步的繁瑣問題,髒檢查名字不好聽,用起來卻很好用,雙向繫結的概念開始在前端普及開來,同時來帶來了很多的黑科技,它的能力和學習曲線的陡峭一樣出名,老一輩人都在說,你學會了它,就會給你開啟新世界的大門。

React一出生就含著金鑰匙,因為Facebook本身就在大規模使用,在許可證風波之前大家都對這個框架很放心,同時引出單項資料流的概念。使用React沒有複雜,但是它只處理了View層,而資料層、路由層等等都是不提供的,並且大多數情況還要和Webpack一起使用,還沒有結束,你要寫一個專案還需要Redux,從此有了React全家桶這種搞笑的說法,對,使用React並不難,你想玩轉React全家桶,可就沒那麼簡單了。

Vue,也就是今天的主角,其實是一個備受爭議的框架,因為被批判到所有的功能都是抄襲的,雙向繫結抄抄Angular,虛擬DOM抄抄React之類的。其實好多人不知道雙向繫結和虛擬DOM也不是AngularReact最先提出來的,比如雙向資料繫結是由微軟的WPF提出來的,我大學的時候需要寫個Windows下的小工具,不記得是什麼原因我選了WPF,就是一個一百多行的小程式,當時只是覺得挺好理解的,沒學過C#也能照貓畫虎寫出來,改了變數介面就變了很方便,從事前端後才知道這是MVVM,提出雙向資料繫結的鼻祖。

最近在公司換了一個新部門,前部門是主React技術棧的,現在新部門統一技術棧為Vue。在之前的部門簡單寫過一點Vue,個人覺得Vue確實比React方便點,上手成本也會低一些。從開發者角度來講,VueReact多做了一點事情,比如v-model,其實v-model很簡單就幾行程式碼,但是Vue會在自己的框架層去實現,而不是讓開發者自己做這件事。記得當時初學React的我還在思考為什麼要有受控元件非受控元件這種設計,因為inputvalue繫結了state之後,封裝完input元件的我發現,無論怎麼拼命敲鍵盤,我的input都不會再動了。以後再遇到這種情況,還是不要拼命敲鍵盤的好。

但是,大家都知道,往往但是很重要,我覺得在生態上,React依然是領先的,比如Ant Design用起來簡直不要太爽。而且React居功至偉,像WebpackBabel等等好多前端的基礎建設工具,都是React全家桶那一波帶起來的,將前端的工程化普及大眾。

不過,大家也知道,往往不過也很重要,對於初學者來講,學習Vue一定是容易的多,而且Vuevue-cli解決了Vue全家桶配置複雜的問題,vue-cli改改就能在生產環境中使用了,正是由於Vue易用度更高的原因,國內大批量小公司在使用,大公司也會因為易用度問題大規模使用,使Vue的增速特別快,超過了React

其實我自己對React出現以前的技術使用並不多,我入行前端的時候,就在實習的時候寫過幾百行的Backbone老專案,不過後來那個專案用React重構了,也沒有管過特別低版本的瀏覽器,自然jQuery也是無法熟練使用的,需要看API文件寫jQuery那種。那時候是ReactVueAngular三國演義,現在已經變成了ReactVue的兩極爭霸,到底誰最後能夠一超多強,還說不好,沒準會是從其他工程角度另闢蹊徑的一個框架吧,畢竟目前Model => View的這種模式中的Model層寫起來依然有點麻煩,因為Model層總會存在非同步處理問題。

其實寫了這些,就是紀念一下,不想挑起來陣營的衝突啊,自己比較中立,對使用ReactVue偏向不太大,借用尤大的一條twitter給大家:

今天Vue Star突破100K,正式超越了React

只有存在有競爭力的對手的時候,才能夠發展的越來好。

相關文章