vue和angular(1.x)的比较

面试有赞的时候。被问到了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本身的复杂度是因为设计目标只是只针对大型的复杂应用,但是不可否认的是,这也使得它对于经验不甚方法的开发者相当不友好。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容