今天
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
给你们:
只有存在有竞争力的对手的时候,才可以发展的越来好。