最近在考虑对前端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路由方面难以处理,经常出错,这块是一个大坑。

---------------------

引:https://bbs.csdn.net/topics/392494180

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的更多相关文章

  1. Angular和Vue.js 深度对比

    Vue.js 是开源的 JavaScript 框架,能够帮助开发者构建出美观的 Web 界面.当和其它网络工具配合使用时,Vue.js 的优秀功能会得到大大加强.如今,已有许多开发人员开始使用 Vue ...

  2. Angular 和 Vue 使用的对比总结 -- 脚手架

    前言 之前是用Vue的,现在由于工作原因,开始使用Angular.分别是Vue2和Angular5入的坑.只是从使用上来对比总结,加深记忆,避免混淆. 什么 ?  你问实现原理的异同及优劣? 本宝宝还 ...

  3. Angular Js 与bootstrap, angular 与 vue.js

    今天突然接到电话, 问我他们的区别  虽然平时看了,但是没记住,凉凉是肯定的 总结一下: bootstrap不算是javascript框架,它只是一个前端的ui框架,然后有一些附带的js插件而已.an ...

  4. angular和vue还有jquery的区别

    angularjs简单介绍和特点 首先angular是一个mvc框架, 使用mvc解耦, 采用model, controller以及view的方式去组织代码, 会将一个html页面分成若干个模块, 每 ...

  5. Angular和Vue.js

    Angular和Vue.js Vue.js 是开源的 JavaScript 框架,能够帮助开发者构建出美观的 Web 界面.当和其它网络工具配合使用时,Vue.js 的优秀功能会得到大大加强.如今,已 ...

  6. angular和vue双向数据绑定

    angular和vue双向数据绑定的原理(重点是vue的双向绑定) 我在整理javascript高级程序设计的笔记的时候看到面向对象设计那章,讲到对象属性分为数据属性和访问器属性,我们平时用的js对象 ...

  7. NO.05--谈一谈Angular 和 Vue.js 的对比。

    几天的vue之后,给需要的盆友们带来一篇对比,也算是我近期之内业余时间的大工程,现在开始: Vue.js 是开源的 JavaScript 框架,能够帮助开发者构建出美观的 Web 界面.当和其它网络工 ...

  8. React vs Angular vs Vue 2019

    React vs Angular vs Vue 看待这三个主流框架给出的想法 Angular is the entire kitchen that gives you all the tools ne ...

  9. React vs. Angular vs. Vue

    原文连接 历史 React是一个用于构建Web应用程序UI组件的JavaScript库. React由Facebook维护,许多领先的科技品牌在其开发环境中使用React. React被Faceboo ...

随机推荐

  1. Linux下kafka集群搭建过程记录

    环境准备 zookeeper集群环境kafka是依赖于zookeeper注册中心的一款分布式消息对列,所以需要有zookeeper单机或者集群环境. 三台服务器: 172.16.18.198 k8s- ...

  2. 批量导出docker images 的一个简单方法

    docker images |cut -c - |xargs docker save -o iamges.tar 主要 最大的长度不能超过 18 超过了就得改一下 -c 后面的数据长度 最终效果为: ...

  3. serverlet声明周期

    servlet生命周期 被创建:默认情况下,当servlet第一次被访问时,由服务器创建该对象,调用init()初始化方法,一个servlet只会被创建一次. 可以配置servlet让其他服务器启动时 ...

  4. shell基础篇

    1. Shell概述 为什么要学习Shell呢? 1)需要看懂运维人员编写的Shell程序. 2)偶尔会编写一些简单Shell程序来管理集群.提高开发效率. 2 .Shell解析器 (1)Linux提 ...

  5. JS中的继承(上)

    JS中的继承(上) 学过java或者c#之类语言的同学,应该会对js的继承感到很困惑--不要问我怎么知道的,js的继承主要是基于原型(prototype)的,对js的原型感兴趣的同学,可以了解一下我之 ...

  6. TensorFlow实现一个简单线性回归的例子

    __author__ = "WSX" import tensorflow as tf import numpy as np import matplotlib.pyplot as ...

  7. MouseMoveEvent为了不太耗资源在默认状态下是要鼠标按下才能捕捉到。要想鼠标不按下时的移动也能捕捉到,需要setMouseTracking(true)

    最近用Qt软件界面,需要用到mouseMoveEvent,研究了下,发现些问题,分享一下. 在Qt中要捕捉鼠标移动事件需要重写MouseMoveEvent,但是MouseMoveEvent为了不太耗资 ...

  8. redis 学习(18)-- AOF

    redis -- AOF 什么是 AOF 通过日志方式将redis中的写命令进行日志记录,保存在硬盘文件中. 日志记录的实质是将写命令写在硬盘的缓冲区中,再根据相关策略把数据刷新到磁盘中. 当redi ...

  9. java——ArrayList中remove()方法疑问总结

    其实remove方法和contains方法大同小异,它的原理和contains方法相同https://www.cnblogs.com/lyxcode/p/9453213.html在这篇博客里面有详细说 ...

  10. word、ppt转换为pdf

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...