4 5区别 angular 和_angular和vue对比

angular

angular一般指 angular2 及以上版本。2010年9月,Google 发布首次angular,即angular1版本。2016年10月 Google 又发布了angular2版本,但是2版本与1版本有非常大的区别,几乎是全部重写,且不向前兼容,更像是一个全新的框架。遂将angular1改名叫angularJs,现angular特指angular2+。

vue

于 2014 年 2 月首次由 Google 前员工尤雨溪发布。凭借较低的上手难度、良好的性能,成为2016 年发展最为迅速的 JS 框架之一,特别是国内的增长及其迅速。

框架对比

1.体积和性能

相较于vue,angular显得比较臃肿,比如一个包含了 Vuex + Vue Router 的 Vue 项目 (gzip 之后 30kB) ,比angular-cli 生成的默认项目尺寸 (~65KB) 还是要小得多。

在渲染性能上,这两个框架都很快,性能上几乎没有差别。

2.开发效率

都提供了各自的脚手架工具,帮助提高从开发到构建打包的整套过程,另外均可以基于组件化开发,编写可复用的组件,大大较少重复性的工作。但angular凭借 Typescript 本身比 JavaScript 更加工程化的优势,在都是团队开发的情况下,angular会更具优势。

3.灵活性

Vue 相比于 Angular 更加灵活,可以按照不同的需要去组织项目的应用代码。比如,甚至可以直接像引用jquery那样在HTML中引用vue,然后仅仅当成一个前端的模板引擎来用。

4.可维护性

我理解的可维护性包括两个层次,一是代码的可读性,二是可重构性。同样是因为对TS(能提供静态类型检查)的支持不够全面,使得vue在这两个层次都有些不足。vue作者本人也承认vue在TS 的支持上还有所不足,在3.0版本中将会有所改进。

5.es6支持

es6是新一代的javascript标准,对JavaScript进行了大量的改进,使用es6开发已是基本需求。虽然有部分十分老旧的浏览器不支持es6,但是可以利用现代开发工具将es6编译成es5。在对es6的支持上两者都做得很好,(TS本身就是es6的超集)

6.学习曲线

针对前端而言,angular的学习曲线相对较大,vue学习起来更容易一些。不过对java和c的使用者而言,angular的静态检查、依赖注入的特性,以及面向对象的编程风格,使得angular都要更亲切一些。

7.使用热度

在使用热度上,vue具有更大优势,主要原因是更受数量庞大的中国开发者欢迎。较低的上手难度,易懂的开发文档,以及国人主导开发的光环,都使得vue在国内更为流行。但最近6个月似乎情况有所变化:

截止到5月12号的npm下载数量.png

总结

相较于vue,angular的优点:

1.开发效率更高

2.可维护性可强

3.对java和c使用者更友好

缺点:

1.体积大

2.灵活性差,不能随心所欲的选择使用方式

3.学习曲线陡峭

4.国内使用热度不及vue

框架选择

最终选择 angular 最为开发框架,除了angular本身的优点以外,其余理由如下:

1.虽然其体积相对较大,但并没有大得非常过分。此外在开发和构建工程中,可以使用惰性模块加载和摇树优化,可以使首页加载的资源较少,以及在AOT编译模式下,网络方面的损耗时间可以在渲染阶段进行一定弥补。最后本项目主要在内网使用的情况下,带来的网络延迟并不明显。

2.angular使用方式不如vue灵活,但是在本项目中并不需要很刁钻的使用方式。

3.虽然本身上手难度更大,但我有过angular独立且完整的开发经验,对vue反而更陌生一些。

4.使用热度对项目本身的影响可能有两个,一是框架bug的解决情况,二是开发人员的招聘会相对困难一些。针对第一点,热度低只是相对的,在全球如此大的开发人群基数下,框架早已趋于稳定,且有专门的团队在维护。针对第二点,大多数的前端招聘上都有一句话 “掌握react \ angular \ vue” ,也从侧面暗示了其实三大框架只要学会一个,短时间内掌握上手其他两个都不是太大的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值