大家好,我卡颂。
在我的技术群里大家常常会聊一些宏观的技术问题,就比方:
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
还会长期霸占开发者喜爱的前端框架前列。
在此过程中,会呈现各种新框架,他们各有各的特点,然而,都很难撼动前者的位置。