angular和vue区别

Z, ZLW 783

angular和vue区别:1、体积和性能不同;2、开发效率不同;3、灵活性不同;4、可维护性;5、学习成本不同;6、指令不同;7、框架不同;8、双向数据绑定实现不同;9、组件不同;10、数据存放位置不同。

1、体积和性能不同

vue占用空间更小,比如一个包含了 Vuex + Vue Router 的 Vue 项目 (gzip 之后 30kB) ,比angular-cli 生成的默认项目尺寸 (~65KB) 还是要小得多。vue比angular更轻量, 性能上更高效。

2、开发效率不同

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

3、灵活性不同

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

4、可维护性

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

5、学习成本不同

angular:angular的上手难度较高,AngularJS的学习成本高,比如增加了Dependency Injection特性

vue:vue简单易学,Vue.js本身提供的API都比较简单、直观。

6、指令不同

angular:angular的指令都是ng-xxx。

vue:vueJS的指令都是v-xxx。

7、框架不同

angular:angular是mvvm框架

vue:vue是一个渐进式的框架, 相当于view层。

8、双向数据绑定实现不同

这两个框架均支持双向数据绑定,但与 Vue.js 相比,Angular 的双向绑定更加复杂。Vue 中的双向数据绑定非常简单,而在 Angular 中,数据绑定更加简单。

9、组件不同

vue有组件化概念,angular中没有。

10、数据存放位置不同

vue中数据放在data对象里面,angular数据绑定在$scope上面。

拓展阅读

angular的特点

  • 数据的双向绑定:这可能是其最激动人心的特性,view层的数据和model层的数据是双向绑定的,其中之一发生更改,另一方会随之变化,这不用你写任何代码!
  • 代码模块化:每个模块的代码独立拥有自己的作用域,model,controller等。
  • 强大的directive:可以将很多功能封装成HTML的tag,属性或者注释等,这大大美化了HTML的结构,增强了可阅读性。
  • 依赖注入:依赖注入(Dependency Injection,简称DI)是一种设计模式, 指某个对象依赖的其他对象无需手工创建,只需要“吼一嗓子”,则此对象在创建时,其依赖的对象由框架来自动创建并注入进来,其实就是最少知识法则;模块中所有的service和provider两类对象,都可以根据形参名称实现DI。将这种后端语言的设计模式赋予前端代码,这意味着前端的代码可以提高重用性和灵活性,未来的模式可能将大量操作放在客户端,服务端只提供数据来源和其他客户端无法完成的操作。
  • 测试驱动开发:angularjs一开始就以此为目标,使用angular开发的应用可以很容易地进行单元测试和端对端测试,这解决了传统的js代码难以测试和维护的缺陷。
  • 采用MVC模型:Angular遵循软件工程的MVC模式,并鼓励展现,数据,和逻辑组件之间的松耦合.通过依赖注入(dependency injection),Angular为客户端的Web应用带来了传统服务端的服务,例如独立于视图的控制。 因此,后端减少了许多负担,产生了更轻的Web应用。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部