大家好,我卡頌。
在我的技術群裡大家經常會聊一些宏觀的技術問題,就比如:
Vue和React,最終誰會被淘汰?
這樣的討論,到最後往往會陷入技術的細枝末節的比較,比如:
- 對比兩者響應式的實現原理
- 對比兩者的執行時效能
很多程式設計師朋友,會覺得:
技術問題,就應該從技術的角度找到答案
但實際上,一些大家糾結的技術問題,往往跟技術本身無關。
歡迎加入人類高質量前端框架群,帶飛
誰才是框架的最終贏家?
討論React和Vue誰會淘汰誰?這個問題,就像10年前,一個康師傅信徒和一個統一信徒爭論:
哪家泡麵企業最終會被淘汰呢?
他們把爭論的重點放在口味的對比、麵餅分量的對比等等,最終誰也無法說服誰。
實際我們最後知道了,外賣App的崛起,對泡麵企業形成了降維打擊。
回到框架這個問題上,在前端框架流行之前,前端最流行的開發庫是jQuery
,他是指令式程式設計的程式設計正規化。
取代jQuery
的並不是另一個更優秀的jQuery
,而是宣告式程式設計的前端框架。
同樣的,取代前端框架的,不會是另一個更優秀的前端框架,而是另一種更適合web
開發的程式設計正規化。
那在前端框架這個領域內部,React
和Vue
最終誰會淘汰誰呢?
我的答案是:
誰也不會淘汰誰。
任何框架最核心的競爭力,不是效能,也不是生態是否繁榮,而是開發者用的是否順手,也就是開發模式是否合理。
React
發明了JSX
這種開發模式,並持續教育了開發者3年,才讓社群接受這種開發模式
這種發明開發模式,再教育開發者的行為,也只有meta
這種大公司才辦得到。
而Vue
則直接使用了模版語法這種現成的開發模式。這種模式已經被廣大後端工程師驗證過是最好上手的web
開發模式。
所以像後端工程師或者程式設計新人會很容易上手Vue
。
經過多年迭代,他們各自的開發模式已經變成了事實上的前端框架DSL
標準。
這會為他們帶來兩個好處:
- 開發模式是個主觀偏好,不存在優劣
所以他們誰也無法淘汰誰,只能說React
的開發模式受眾範圍更廣而已。
- 後來者會永遠居於他們的陰影之下
新的框架如果無法在程式設計正規化上突破,那麼為了搶佔Vue
或React
的市場份額,只能遵循他們的開發模式,因為這樣開發者才能無痛遷移。
比如最近兩年比較優秀的新框架,svelte
是Vue
的開發模式,Solid.js
是React
的開發模式
在同樣的開發模式下,佔市場主導地位的框架可以迅速跟進那些競爭者的優秀特性。
比如Vue
就準備開發一個類似Svelte
的版本。
一句話總結就是:
你是無法在我的BGM中擊敗我的
總結
總體來說,在新的web
程式設計正規化流行之前,React
、Vue
還會長期霸佔開發者喜歡的前端框架前列。
在此過程中,會出現各種新框架,他們各有各的特點,但是,都很難撼動前者的地位。