前端框架大比拼:Angularjs vs Reactjs vs Vue.js


(alphaplus) #1

导读:本文作者Payson Wu,硕士研究方向二维PDE数值解析算法,五年前端开发经验,现就职于Microsoft。

无论前端后端还是全栈工程师,一定是经常听说 Angular 和 React 的。Vue相对来说貌似没有那么朗朗上口,但其实Vue早在2013年就有了第一次release。好的前端框架是经得起时间检验的,不过一般也熬不太长,两年是一个大坎。这三个framework都经过了多年考验。从Google trends上先看看这三者的趋势。看这个风向,这三个还是2017年的流行风向标。

趋势

Vue.js

![](data:image/svg+xml;utf8,)

Reactjs

![](data:image/svg+xml;utf8,)

Angularjs

![](data:image/svg+xml;utf8,)

虽然放在一起Angular还是最火的,但从单个趋势图可以看出来reactjs和vuejs明显是火箭一般上升。很明显可以看到Angular在16时候有个大跌幅,那时候正是React坐火箭上升最快的。就是那时候很多Angular的项目转成了React。如果Angular没有出2,那估计Angular就真的离灭亡不远了。

![](data:image/svg+xml;utf8,)

作为热爱工作热爱生活的程序员,我一定要坚持时尚时尚最时尚,今天就来看看这三者的区别。

GitHub受欢迎程度

![](data:image/svg+xml;utf8,)

定位

虽然Vue.js被定义为MVC framework,但其实Vue本身还是一个library,加了一些其他的工具,可以被当成一个framework。ReactJS也是library,同样道理,配合工具也可以成为一个framework。AngularJS(本文AngularJS特指Angular 1, Angular 2特指第二版Angular)是一个framework,而Angular 2虽然还是一个framework,但其实在设计之初,Angular 2的团队站在了更高的角度,希望做一个platform。

上手容易度

Vue.js hello world

![](data:image/svg+xml;utf8,)

ReactJS hello world

![](data:image/svg+xml;utf8,)

Angular 2 hello world, 可以使用cli,瞬间serve

![](data:image/svg+xml;utf8,)

文档清晰度

现在的前端framework,用起来就像按照说明书使用家用电器一样。按照文档一步步写就好了,所以文档的清晰度非常重要。同时小伙伴也很重要,越多的人使用,那遇到一样问题的人就越多,stackoverflow上面可能早就有帮你解决问题的小伙伴了。就这几个来说,我个人认为Vue.js的文档最恳切。我认为结合文档和遇到问题Google答案的匹配度来讲:

Vue.js > ReactJS > AngularJS > Angular 2

小总结

现在Vue明显没有Facebook的React或者Google的Angular 2火爆。但越来越多的前端程序员逐渐转向了Vue,Vue在美国和日本尤为火爆(为何是日本?我也不懂)。大概有可能因为Vue总结了很多AngularJS和React的缺点吧。如果你想做一个新的项目,通过上面的描述还没决定选哪个,那我想跟你说,选哪种框架真的不重要,重要的是理解框架之间的区别和联系。理解框架需要解决的是哪种问题,能更好地分析自己项目的具体需求。

2017,祝天下软件工程师都早点下班。

课程推荐

Payson现在也是BitTiger王牌课程【全栈工程师直通车】的特约教师之一,如果你也想成为全栈工程师,欢迎点击这里(或者直接扫码咨询)。

http://weixin.qq.com/r/1J3t9TzE8GGPrXiW98jG (二维码自动识别)

关于BitTiger

BitTiger,来自硅谷的终身学习平台。欢迎关注公众号:太阁 或搜索 bit_tiger