AngularJS与jQuery有何不同?

Ran*_*ngh 387 javascript jquery angularjs

我只知道一个js库,那就是jQuery.
但我的组中的其他编码器正在改变AngularJS作为新项目的默认库.

我什么都不知道.它与jQuery有什么不同?
我已经为jQuery中的类似任务完​​成了一组函数.我还可以使用AngularJS的jQuery东西吗?

max*_*sam 413

  1. 虽然Angular 1是一个框架,但Angular 2是一个平台.(参考)

对于开发人员,Angular2提供了一些功能,除了在屏幕上显示数据.例如,使用angular2 cli工具可以帮助您"预编译"您的代码并生成必要的javascript代码(树木抖动),将下载大小缩小到35Kish.

  1. Angular2模拟了Shadow DOM.(参考)

这为服务器渲染打开了一扇门,可以解决SEO问题并使用Nativescript等无法在浏览器上运行.

AngularJS是一个框架.它具有以下功能

  1. 双向数据绑定
  2. MVW模式(MVC-ish)
  3. 模板
  4. 自定义指令(可重用组件,自定义标记)
  5. REST友好
  6. 深层链接(为任何动态页面设置链接)
  7. 表格验证
  8. 服务器通信
  9. 本土化
  10. 依赖注入
  11. 完整的测试环境(单位,e2e)

检查此演示文稿和这个伟大的介绍

不要忘记阅读官方开发者指南

或者从这些精彩的视频教程中学习它

如果您想观看更多教程视频,请查看这篇文章,收集最佳60+ AngularJS教程.

你可以在没有任何问题的情况下使用jQuery和AngularJS.

事实上,AngularJS使用了jQuery lite,这是一个很棒的工具.

来自FAQ

Angular是否使用jQuery库?

是的,当应用程序被引导时,Angular可以使用jQuery,如果它存在于您的应用程序中.如果你的脚本路径中没有jQuery,Angular会回退到我们称之为jQLite的jQuery子集的实现.

但是,不要尝试使用jQuery来修改AngularJS控制器中的DOM,在指令中执行它.

更新:

Angular2发布了.是一个伟大的首发资源列表

  • 对于任何未来 - 人们想知道(像我一样),**MVW ==模型 - 视图 - 无论**,如["**m**odel - **v**iew - **w**hatever-工作适合你"(https://plus.google.com/+AngularJS/posts/aZNVhj355G2).换句话说,**MV\***. (13认同)
  • 我是否必须在Angular js中开发完整的应用程序,或者我可以在几页上使用它,在几个apges上我使用简单的jquery (7认同)
  • +1很棒的答案.我会说Angular更接近MVVM模式. (7认同)
  • 我很确定Angular是**MVW** (7认同)
  • 两种方式都很好. (3认同)
  • 几年来,它接近 MVC。但是现在refactoring和api改进,更接近MVVM了。在 Angular $scope 中,像 VM(查看模型)一样工作。 (2认同)

Mos*_*ebi 39

我想从开发人员的角度添加关于AngularJSjQuery差异的内容.

在AngularJS中,您必须有一个非常结构化的视图和方法来实现您想要完成的任务.它几乎不遵循线性方式来完成任务,而是各种对象之间的交换处理请求和动作,然后,这是必需的,因为angular是基于MVC的框架.它还需要最终应用程序的一般蓝图,因为编码很大程度上取决于您希望如何完成交互.

jQuery就像一首自由诗歌,你写出一些线条并保持一些适合你完成任务的关系和动力.

虽然,在Angular JS中,你应该遵循一些规则以及保持适当的动量和关系,也许它更像是古典的斯宾塞十四行诗(一位着名的古典诗人),其诗歌是结构性的并且与许多规则联系在一起.

与AngularJS相比,jQuery更像是代码和函数的集合(正如已经提到的,它非常适合DOM操作和快速效果),而AngularJS是一个真正的框架,它使开发人员能够构建企业Web - 在一个组织良好的路由和管理中应用大量数据绑定和交换.

此外,AngularJS不依赖于jQuery来完成其任务.它有两个非常出色的功能,在任何意义上都没有在jQuery中找到:

1- Angular JS教你如何代码和实现目标,而不仅仅是以任何方式实现目标.值得一提的是,AngularJS充分利用了Javascripts的核心和核心,为您在应用程序中整合DI(依赖注入)等技术铺平了道路.要使用angularJS,您应该(或必须)学习使用Javascript编写更多高级编码技术.

2- Angular JS完全独立于处理指令和构建您的应用程序; 然后你可以简单地声称jQuery可以做同样的事情(独立性),但实际上,AngularJS,在上面几行中提到的几次,在最优秀的结构MVC方式中具有独立性.

最后一点是,没有名字的战争,因为偏见或主观是非常令人不安的.jQuery的规模和优势已被证明,但他们的用法和限制(任何框架或软件)都是讨论和类似辩论的关注点.

更新:

使用AngularJS是决定性的,因为它在实现方面很昂贵,但是为应用程序的未来扩展,转换和维护奠定了坚实的基础.AngularJS适用于Web的新世界.它的目标是构建应用程序,这些应用程序的特点是资源消耗最少(仅从服务器加载必要的资源),快速响应时间以及高度可维护性和可扩展性,包含在结构化系统中.


kma*_*o23 27

AngularJS: AngularJS用于开发繁重的Web应用程序.当应用程序被引导时,AngularJS可以使用jQuery,如果它存在于web-app中.如果脚本路径中没有它,那么AngularJS会回退到它自己的jQuery子集实现.

JQuery: jQuery是一个小巧,快速且功能丰富的JavaScript库.它使HTML文档遍历和操作,事件处理,动画和Ajax等操作变得更加简单.jQuery简化了许多来自JavaScript的复杂事物,比如AJAX调用和DOM操作.

在这里阅读更多细节:angularjs-vs-jquery


Pri*_*jee 19

我认为是一个描述差异的非常好的图表.快速浏览一下就会发现大部分差异.

在此输入图像描述

我想补充的一点是,AngularJS可以遵循MVVM设计模式,而jQuery不遵循任何标准的面向对象模式.


Abr*_*hin 10

他们在不同的层面上工作.

从初学者的角度来看,查看差异的最简单方法是jQuery本质上是JavaScript的摘要,因此我们为JavaScript设计页面的方式几乎就是我们如何为jQuery做的.从DOM开始,然后在其上构建一个行为层.Angular.Js不是这样.这个过程真正从头开始,所以最终结果是理想的视图.

使用jQuery进行dom操作,使用Angular.Js可以创建完整的Web应用程序.


构建jQuery是为了抽象出各种浏览器的特性,并且不需要添加IE6检查就可以使用DOM.随着时间的推移,它开发了一个漂亮,强大的API,它允许我们做很多事情,但从本质上讲,它用于处理DOM,查找元素,更改UI等等.可以把它想象成直接使用螺母和螺栓.

Angular.Js是作为jQuery之上的一个层构建的,用于将MVC概念添加到前端工程中.Angular.Js不是为您提供使用DOM的API,而是为您提供数据绑定,模板化,自定义组件(类似于jQuery UI,但声明而不是通过JS触发)以及更多.可以把它想象成更高层次的工作,可以将组件连接在一起,而不是直接在螺母和螺栓水平上.

此外,Angular.Js为您提供适用于各种项目的结构和概念,如控制器,服务和指令.jQuery本身可以用多种(gazillion)方式来做同样的事情.值得庆幸的是,Angular.Js更少,这使得进入和退出项目变得更容易.它为多人提供了一种理智的方式,可以为同一个项目做出贡献,而无需从头开始重新学习系统.


简短的比较可以是这样的 -

jQuery的

  • 对CSS选择器有适当知识的人可以轻松使用
  • 它是用于DOM操作的库
  • 与模型无关
  • 轻松操纵网页内容
  • 应用样式以使UI更具吸引力
  • 简单的DOM遍历
  • 效果和动画
  • 简单地做AJAX调用和
  • 公用事业可用性
  • 没有双向绑定功能
  • 当项目规模增加时,变得复杂且难以维护
  • 有时您必须编写更多代码才能实现与Angular.Js相同的功能

Angular.Js

  • 它是一个MVVM框架
  • 用于创建SPA(单页应用程序)
  • 它具有关键功能,如路由,指令,双向数据绑定,模型,依赖注入,单元测试等
  • 是模块化的
  • 项目规模增加时可维护
  • 双向数据绑定REST友好的基于MVC的模式
  • 深层链接
  • 模板
  • 内置表单验证
  • 依赖注入
  • 本土化
  • 完整的测试环境
  • 服务器通信

以及更多

在此输入图像描述

认为这有帮助.

更多可以找到 -