今天
Vue
Star突破了100K
,正式超越React
。前端
從我寫文章開始就記錄這個曲線圖,能夠看到Vue
僅有微弱優點,目前戰況激烈,直接看圖:vue
圖片摘自 https://hubble.js.org/react-vs-vue/react
前端框架的演進愈來愈激烈,愈來愈快,以致於出現了求不要更新了,老子學不動了
vue-cli
long long ago,你們寫還在寫vanilla .js
,那個號稱壓縮有0KB,兼容全部瀏覽器性能又極佳的框架,我笑而不語,由於其實也偷偷的用過好屢次vanilla.js
。小程序
以後瀏覽器大戰,各類瀏覽器的API兼容成了頭痛的問題,jQuery
從衆多框架中脫穎而出,統治了前端行業將近10年,要說歷史意義,我認爲目前沒有任何框架超過jQuery
。就像智能手機同樣,如今出了不少功能酷炫的智能手機,我仍是認爲沒有智能手機在歷史意義上超過iPhone 4
。瀏覽器
再以後,Backbone
出現了,類MVC
的思想框架愈來愈來多,都在解決這大型應用分層,去解耦不一樣功能的邏輯問題,可是隨着業務邏輯愈來愈複雜,同步Model
的數據到View
這件事情變得愈來愈繁瑣。前端框架
AngularJS
解決了Model
到View
同步的繁瑣問題,髒檢查名字很差聽,用起來卻很好用,雙向綁定的概念開始在前端普及開來,同時來帶來了不少的黑科技,它的能力和學習曲線的陡峭同樣出名,老一輩人都在說,你學會了它,就會給你打開新世界的大門。框架
React
一出生就含着金鑰匙,由於Facebook
自己就在大規模使用,在許可證風波以前你們都對這個框架很放心,同時引出單項數據流的概念。使用React
沒有複雜,可是它只處理了View
層,而數據層、路由層等等都是不提供的,而且大多數狀況還要和Webpack
一塊兒使用,尚未結束,你要寫一個項目還須要Redux
,今後有了React
全家桶這種搞笑的說法,對,使用React
並不難,你想玩轉React
全家桶,可就沒那麼簡單了。異步
Vue
,也就是今天的主角,實際上是一個備受爭議的框架,由於被批判到全部的功能都是抄襲的,雙向綁定抄抄Angular
,虛擬DOM抄抄React
之類的。其實好多人不知道雙向綁定和虛擬DOM也不是Angular
和React
最早提出來的,好比雙向數據綁定是由微軟的WPF提出來的,我大學的時候須要寫個Windows
下的小工具,不記得是什麼緣由我選了WPF
,就是一個一百多行的小程序,當時只是以爲挺好理解的,沒學過C#
也能照貓畫虎寫出來,改了變量界面就變了很方便,從事前端後才知道這是MVVM,提出雙向數據綁定的鼻祖。工具
最近在公司換了一個新部門,前部門是主React
技術棧的,如今新部門統一技術棧爲Vue
。在以前的部門簡單寫過一點Vue
,我的以爲Vue
確實比React
方便點,上手成本也會低一些。從開發者角度來說,Vue
比React
多作了一點事情,好比v-model
,其實v-model
很簡單就幾行代碼,可是Vue
會在本身的框架層去實現,而不是讓開發者本身作這件事。記得當時初學React
的我還在思考爲何要有受控組件
和非受控組件
這種設計,由於input
的value
綁定了state
以後,封裝完input
組件的我發現,不管怎麼拼命敲鍵盤,個人input
都不會再動了。之後再遇到這種狀況,仍是不要拼命敲鍵盤的好。
可是,你們都知道,每每可是很重要,我以爲在生態上,React
依然是領先的,好比Ant Design
用起來簡直不要太爽。並且React
居功至偉,像Webpack
、Babel
等等好多前端的基礎建設工具,都是React
全家桶那一波帶起來的,將前端的工程化普及大衆。
不過,你們也知道,每每不過也很重要,對於初學者來說,學習Vue
必定是容易的多,並且Vue
用vue-cli
解決了Vue
全家桶配置複雜的問題,vue-cli
改改就能在生產環境中使用了,正是因爲Vue
易用度更高的緣由,國內大批量小公司在使用,大公司也會由於易用度問題大規模使用,使Vue
的增速特別快,超過了React
。
其實我本身對React
出現之前的技術使用並很少,我入行前端的時候,就在實習的時候寫過幾百行的Backbone
老項目,不事後來那個項目用React
重構了,也沒有管過特別低版本的瀏覽器,天然jQuery
也是沒法熟練使用的,須要看API文檔寫jQuery
那種。那時候是React
、Vue
、Angular
三國演義,如今已經變成了React
、Vue
的兩極爭霸,到底誰最後可以一超多強,還說很差,沒準會是從其餘工程角度另闢蹊徑的一個框架吧,畢竟目前Model
=> View
的這種模式中的Model
層寫起來依然有點麻煩,由於Model
層總會存在異步處理問題。
其實寫了這些,就是記念一下,不想挑起來陣營的衝突啊,本身比較中立,對使用React
、Vue
偏向不太大,借用尤大的一條twitter
給你們:
只有存在有競爭力的對手的時候,纔可以發展的越來好。