美文网首页
vue和angular(1.x)的比较

vue和angular(1.x)的比较

作者: meow_possion | 来源:发表于2019-06-21 17:41 被阅读0次

面试有赞的时候。被问到了vue和angular框架的对比,包括数据绑定机制及其优缺点。由于我的技术栈是vue2.0和angular1.x,这里先对这两个版本的框架进行对比。

1. angular1.x

vue的语法跟angular1.x是很相似的。但是vue解决了很多在angularJS中出现的问题。

复杂性

在API和设计方面,vue都比angular简单得多,因此可以快速掌握vue的全部特性并投入开发。--学习成本比较低

灵活和模块化

vue.js是一个更加灵活开发的解决方案。它允许你以希望的方式组织应用程序,而不是在任何时候都必须遵循angular.js制定的规则,这让Vue能适用于各种项目

数据绑定

AngularJs使用双向数据绑定,vue在不同组件之间强制使用单向数据流。这使应用中的数据流更加清晰易懂。

指令和组件

在Vue中指令和组件分得更清晰。指令只封装DOM操作,而组件代表一个自给自足的独立单元--有自己的视图和数据逻辑。在AngularJs中,每件事都由指令来做,而组件只是一种特殊的指令

运行时性能

Vue有更好的性能,并且非常非常容易优化,因为它不使用脏检查。

在AngularJs中,当watcher越来越多的时候会变得越来越慢,因为作用域内的每一次变化,所有的watcher都要重新计算。并且,如果一些watcher触发另一个更新,脏检查循环(digest cycle)可能要运行多次。AngularJS常常要使用深奥的技术,以解决脏检查循环的问题。有时没有简单的方法来优化有大量watcher的作用域。

Vue则根本没有这个问题,因为他使用了基于依赖追踪的观察系统并异步队列更新,所有的数据都是独立触发,除非他们之间有明确的依赖关系。

Angular(2.0以上)和Vue用相似的设计解决了一些AngularJs中存在的问题。

2. Angular(原本的Angular2)

Angular是一个和AngularJs完全不同的框架,比如它具有优秀的组件系统,并且很多实现已经完全重写了, Api也完全变了。

TypeScript

Angular事实上必须用TypeScript来开发,因为他的文档和学习资源几乎全部面向TS。TS有很多好处-- 静态类型检查在大规模的应用中非常有用,同时对于Java和C#背景的开发者也是非常提升开发效率的。

然而,并不是所有人都想用TS--在中小型规模的项目中,引入TS可能并不会带来太多明显的优势。在这些情况下,用vue会更好的选择,因为在不用TS情况使用Angular会很有挑战性。
虽然vue和ts的整合可能不如Angular那么深入,但是vue也提供了光的类型声明和组件装饰器。

运行时性能

这两个框架都很快,有非常类似的benchmark数据。不过熟读不是决定性的因素。

体积

在体积方面,最近的Angular版本中使用了AOT和tree-shaking技术之后是的最终的代码的体积减小了许多。但即使如此,一个包含了vuex+ + vue Router的Vue项目(gzip之后30kb)相比使用了这些优化的angular-cli生成的默认项目尺寸(~65kb)还是要小得多。

灵活性

vue相比于Angular更加灵活,Vue官方提供了构建工具来协助你构建项目,但他不限制你如何组织你的应用代码。有人夸你喜欢有严格的代码组织规范,有人喜欢更自由灵活的方式

学习曲线

要学习Vue,只需要良好的Html和javascript基础。有了这些基本的技能,就可以非常快速投入开发。
Angular的学习曲线非常陡峭--作为一个框架,他的API面积比Vue要大得多,你也因此需要理解更多的概念才能开始有效率的工作。Angular本身的复杂度是因为设计目标只是只针对大型的复杂应用,但是不可否认的是,这也使得它对于经验不甚方法的开发者相当不友好。

相关文章

  • vue和angular(1.x)的比较

    面试有赞的时候。被问到了vue和angular框架的对比,包括数据绑定机制及其优缺点。由于我的技术栈是vue2.0...

  • 【vue干货】vue事件

    vue干货第二集 Vue和angular的区别 vue是一个mvvm框架(库),和angular类似,比较容易上手...

  • Angular简介

    Angular.js和Angular4(Angular)及其他框架对比 Angular1(1.x)被称为Angul...

  • 起步

    最近公司要做一个系统,经过筛选,放弃了 Angular 1.x 与react,选择了Vue那为什么选择 Vue 呢...

  • vue和其它框架的对比

    React、Vue、Angular比较 相同之处: React和vue: 使用Virtual Dom 提供响应式和...

  • 三大前端技术Angular和React和Vue再比较

    三大前端技术Angular和React和Vue再比较 ​ 大家好,这一期呢,再来比较一下Angular和React...

  • 快速入门Angular4.0

    一、序章 关于Angular版本,Angular官方已经统一命名Angular 1.x统称为Angular JS;...

  • vue01

    vue01 vue到底是什么? 一个mvvm框架(库)、和angular类似,比较容易上手、小巧 vue和angu...

  • Angular React 和 Vue的比较

    vue仅仅是mvvm中的view层,只是一个如jquery般的工具库,而不是框架,而angular而是mvvm框架...

  • Angular CLI 简介

    一、 基本概念: 关于Angular版本,Angular官方已经统一命名Angular 1.x同一为Angular...

网友评论

      本文标题:vue和angular(1.x)的比较

      本文链接:https://www.haomeiwen.com/subject/vupjqctx.html