Angular与Vue
最近在考虑对前端js框架的选择
根据前人的总结,就总结一下 Angular与Vue 的特点与区别
速度/性能
虽然 Angular 和 Vue 都提供了很高的性能,但由于 Vue 的虚拟 DOM 实现的重量较轻,所以可以说 Vue 的速度/性能略微领先。
更简单的编程模型使 Vue 能够提供更好的性能。Vue 可以在没有构建系统的情况下使用,因为开发者可以将其包含在 HTML 文件中。这使得 Vue 易于使用,从而提高了性能。
angular和vue的差别
Angular是mvvm框架, 而vue是一个渐进式的框架, 相当于view层, 都有双向数据绑定, 但是angular中的双向数据绑定是基于脏检查机制, vue的双向数据绑定是基于ES5的getter和setter来实现, 而angular是有自己实现一套模板编译规则,vue比angular更轻量, 性能上更高效, 比angular更容易上手, 学习成本低, vue需要一个el对象进行实例化, 而angular是整个html页面下的,单页面应用, 而vue可以有过个vue实例;
注:angular可以进行自动化的测试,就是一般做移动端应用时,ui-router路由方面难以处理,经常出错,这块是一个大坑。
---------------------
1. vue 适合写移动端,易于修改,比较容易上手,轻量级响应组件 ,是由个人维护的。服务端渲染易于集成路由工具,打包工具及状态管理工具。
angular 适合写web端,相对上手比较难,由google开发和维护,2. 写法
vue 以v-xxx开头 同时支持简写如:v-on:click简写为@click 、v-bind:简写为:…
angular 以ng-xxx 开头3. vue click点击事件没参数可以不写小括号
angular 后面必须写小括号4. vue 数据和方法都放在单独的函数,或者字典里面,数据在data里面放着,条理清晰,便于看懂。
angular 父组件所有的数据和方法都是挂载在rootScope上,子组件所有的数据和方法都是挂载在 rootScope上,子组件所有的数据和方法都是挂载在rootScope上,子组件所有的数据和方法都是挂载在scope上
5. 作用域
vue中子组件想用父组件的值,需要传值,并接收,
angular中传值需要写依赖项,并且重新赋值,6. vue 是实时渲染,
angular 需要检测到指定事件触发时数据变化才更新。7. 循环
vue 是v-for=" (item,index) in itemlist"
angular 是 ng-repeat=" (index,item ) in itemlist"---------------------
原文:https://blog.csdn.net/qq_43288013/article/details/84961486
何时选择 Vue.js?
如果你希望通过以最简单的方式来制作 Web 应用程序,那么你应该选择 Vue。如果你的 Javascript 基础不是太强大,或者有严格的开发截止日期,Vue 将是一个很好的选择。
如果你的前端是 Laravel,那么请选择 Vue。Laravel 社区的开发者认为 Vue 是他们最喜欢的框架。Vue 将总处理时间缩短了50%,并释放了服务器上的空间。
如果是开发小规模应用或者开发时不喜欢受约束,请选择Vue。
如果你很熟悉 ES5 Javascript 和 HTML,那么请使用 Vue 完成你的项目。
如果你想要在浏览器中编译模板并且使用其简单性,使用独立版本的Vue会很好。
如果你打算构建性能关键型SPA或需要功能范围的 CSS,Vue 的单文件组件会非常完美。
何时选择 Angular?
如果你需要构建大型复杂的应用程序,那么应该选择 Angular,因为 Angular 为客户端应用程序开发提供了一个完整而全面的解决方案。
对于希望处理客户端和服务器端模式的开发人员来说,Angular 是一个不错的选择。开发人员喜欢 Angular 的主要原因是 Angular 能够使他们专注于任何类型的设计,无论是 jQuery 调用还是 DOM 配置干扰。
对于开发人员创建具有多个组件和复杂需求的 Web 应用程序,Angular 也同样适用。当你选择Angular 时,本地开发人员会发现更容易理解应用程序功能和编码结构。
如果你想在新项目中选择现有组件,也可以选择 Angular,因为你只需复制和粘贴代码即可。
Angular 可以使用双向数据绑定功能来管理 DOM 和模型之间的同步。这使 Angular 成为了 Web 应用程序开发的强有力的工具。
希望制作更轻更快的Web应用程序的开发人员可以利用 Angular 中的 MVC 结构和独立的逻辑和数据组件,这有助于加速开发过程。
结论
Vue.js 是轻量级的开发框架,很适合开发小规模灵活的 Web 应用程序;而 Angular 尽管学习曲线较为陡峭,但却是构建完整复杂应用的好选择。
---------------------
https://www.cnblogs.com/powertoolsteam/archive/2018/03/13/8554125.html
如果您比其他功能更喜欢灵活性,请使用React。
如果您喜欢在TypeScript中编码,请选择Angular。
如果您是JavaScript爱好者,请使用React,因为它完全与JavaScript有关。
如果您喜欢干净的代码,请在您的应用程序中使用Vue。
Vue提供最简单的学习曲线,是初学者的理想选择。
如果要在应用程序中分离关注点,请使用Vue。
如果您喜欢面向对象的编程,Angular绝对是您的选择。
Vue非常适合小型团队和小型项目。如果您的应用程序似乎很大并且具有重要的未来扩展计划,请选择React或Angular。
---------------------
引:https://baijiahao.baidu.com/s?id=1609374985643812253&wfr=spider&for=pc
共同学习,共同进步,若有补充,欢迎指出,谢谢!
Angular与Vue的更多相关文章
- Angular和Vue.js 深度对比
Vue.js 是开源的 JavaScript 框架,能够帮助开发者构建出美观的 Web 界面.当和其它网络工具配合使用时,Vue.js 的优秀功能会得到大大加强.如今,已有许多开发人员开始使用 Vue ...
- Angular 和 Vue 使用的对比总结 -- 脚手架
前言 之前是用Vue的,现在由于工作原因,开始使用Angular.分别是Vue2和Angular5入的坑.只是从使用上来对比总结,加深记忆,避免混淆. 什么 ? 你问实现原理的异同及优劣? 本宝宝还 ...
- Angular Js 与bootstrap, angular 与 vue.js
今天突然接到电话, 问我他们的区别 虽然平时看了,但是没记住,凉凉是肯定的 总结一下: bootstrap不算是javascript框架,它只是一个前端的ui框架,然后有一些附带的js插件而已.an ...
- angular和vue还有jquery的区别
angularjs简单介绍和特点 首先angular是一个mvc框架, 使用mvc解耦, 采用model, controller以及view的方式去组织代码, 会将一个html页面分成若干个模块, 每 ...
- Angular和Vue.js
Angular和Vue.js Vue.js 是开源的 JavaScript 框架,能够帮助开发者构建出美观的 Web 界面.当和其它网络工具配合使用时,Vue.js 的优秀功能会得到大大加强.如今,已 ...
- angular和vue双向数据绑定
angular和vue双向数据绑定的原理(重点是vue的双向绑定) 我在整理javascript高级程序设计的笔记的时候看到面向对象设计那章,讲到对象属性分为数据属性和访问器属性,我们平时用的js对象 ...
- NO.05--谈一谈Angular 和 Vue.js 的对比。
几天的vue之后,给需要的盆友们带来一篇对比,也算是我近期之内业余时间的大工程,现在开始: Vue.js 是开源的 JavaScript 框架,能够帮助开发者构建出美观的 Web 界面.当和其它网络工 ...
- React vs Angular vs Vue 2019
React vs Angular vs Vue 看待这三个主流框架给出的想法 Angular is the entire kitchen that gives you all the tools ne ...
- React vs. Angular vs. Vue
原文连接 历史 React是一个用于构建Web应用程序UI组件的JavaScript库. React由Facebook维护,许多领先的科技品牌在其开发环境中使用React. React被Faceboo ...
随机推荐
- LCA cogs 2450 2048 1588
t1 2450距离 链接:http://cogs.pro:8081/cogs/problem/problem.php?pid=vSNNNVqga [题目描述] 在一个村子里有N个房子,一些双向的路连接 ...
- 华三F100系列、华为USG6300系列防火墙 策略路由配置实例
策略路由,是一种比基于目标网络进行路由更加灵活的数据包路由转发机制,路由器将通过路由图决定如何对需要路由的数据包进行处理,路由图决定了一个数据包的下一跳转发路由器. 策略路由的应用: 1.可以不仅仅依 ...
- 调用存储在session属性里的东西
将对象放在session里面 request.getSession().setAttribute("username", username); //放到会话里 永EL表达式调用 $ ...
- 使用Java实现hello/hi的简单网络聊天程序
Socket又称套接字,是基于应用服务与TCP/IP通信之间的一个抽象,它是计算机之间进行通信的一种约定或一种方式.通过socket这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送 ...
- jdk1.8 -- 方法推导 静态方法、实例方法、构造方法推导
一.静态方法的推导 public class MainTest { public static void main(String[] args) { // 正常情况下我们需要通过写一个consumer ...
- 重载(overload)和重写(override)的区别
方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性. 重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同.参数个数不同或者二者都不同)则 ...
- IDEA自动生成的注释模板
使用效果如下: * * @功能描述 : $params$ * @return $returns$ * @author xuetao */ 其中 $params$的表达式如下: groovyScript ...
- 并不对劲的bzoj4538:loj2049:p3250:[HNOI2016]网络
题意 有一棵\(n\)(\(n\leq 10^5\))个点的树,\(m\)(\(m\leq 2\times 10^5\))个操作.操作有三种:1.给出\(u,v,k\),表示加入一条从\(u\)到\( ...
- L1-025. 正整数A+B 简单复习一下,。
本题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000].稍微有点麻烦的是,输入并不保证是两个正整数. 输入格式: 输入在一行给出A和B,其间以空格分开.问题是A和B不一定是满 ...
- ffmpeg处理视频命令
一:视频添加图片水印 ffmpeg -i a.mp4 -vf "movie=a.jpg[watermark];[in][watermark] overlay=main_w-overlay_w ...