vue与angular的区别在于以下几个方面:1、体积和性能;2、开发效率;3、灵活性;4、可维护性;5、学习成本高;6、指令。体积和性能是指,vue占用空间更小,比如一个包含了 Vuex + Vue Router 的 Vue 项目 (gzip 之后 30kB) ,比angular-cli 生成的默认项目尺寸 (~65KB) 还是要小得多。
一、体积和性能
vue占用空间更小,比如一个包含了 Vuex + Vue Router 的 Vue 项目 (gzip 之后 30kB) ,比angular-cli 生成的默认项目尺寸 (~65KB) 还是要小得多。
在渲染性能上,这两个框架都很快,性能上几乎没有差别。
二、开发效率
都提供了各自的脚手架工具,帮助提高从开发到构建打包的整套过程,另外均可以基于组件化开发,编写可复用的组件,大大较少重复性的工作。但angular凭借 Typescript 本身比 JavaScript 更加工程化的优势,在都是团队开发的情况下,angular会更具优势。
三、灵活性
Vue 相比于 Angular 更加灵活,可以按照不同的需要去组织项目的应用代码。比如,甚至可以直接像引用jquery那样在HTML中引用vue,然后仅仅当成一个前端的模板引擎来用。
四、可维护性
我理解的可维护性包括两个层次,一是代码的可读性,二是可重构性。同样是因为对TS(能提供静态类型检查)的支持不够全面,使得vue在这两个层次都有些不足。vue作者本人也承认vue在TS 的支持上还有所不足,在3.0版本中将会有所改进。
五、学习成本高
vue简单易学,而angular的上手难度较高。
AngularJS的学习成本高,比如增加了Dependency Injection特性,而Vue.js本身提供的API都比较简单、直观。
六、指令
angular的指令都是ng-xxx,而vueJS的指令都是v-xxx。
延伸阅读
angularjs的特点
1、数据的双向绑定:view层的数据和model层的数据是双向绑定的,其中之一发生更改,另一方会随之变化,这不用你写任何代码!
2、代码模块化,每个模块的代码独立拥有自己的作用域,model,controller等。
3、强大的directive可以将很多功能封装成HTML的tag,属性或者注释等,这大大美化了HTML的结构,增强了可阅读性。
4、依赖注入,将这种后端语言的设计模式赋予前端代码,这意味着前端的代码可以提高重用性和灵活性,未来的模式可能将大量操作放在客户端,服务端只提供数据来源和其他客户端无法完成的操作。
5、测试驱动开发,angularjs一开始就以此为目标,使用angular开发的应用可以很容易地进行单元测试和端对端测试,这解决了传统的js代码难以测试和维护的缺陷。
Vuejs的特点
1、轻量级的框架
2、双向数据绑定
3、指令
4、模块化,目前最热的方式是在项目中直接使用ES6的模块化,结合Webpack进行项目打包。
5、组件化,创造单个component后缀为.vue的文件,包含template(html代码),script(es6代码),style(css样式)。
文章标题:vue与angular的区别是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38932