AngularJS与jQuery有什么不同?

我只知道一个js库,那就是jQuery 。
但是我的其他编程人员正在将AngularJS作为新项目的默认库。

我对此一无所知。 与jQuery有什么不同呢?
我已经有一组function在jQuery中完成类似的任务。 我仍然可以使用AngularJS的jQuery的东西吗?

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

对于开发者来说,Angular2提供了一些超越屏幕显示数据的function。 例如,使用angular2 cli工具可以帮助您“预编译”您的代码并生成必要的JavaScript代码( 树形图 ),将下载大小缩小到35Kish。

  1. Angular2模拟了Shadow DOM。 ( ref )

这为服务器渲染打开了一扇门,可以解决search引擎优化问题,并与Nativescript等不起作用的浏览器。

  • 官方文档网站

  • 来自ng-conf 2016的第一天主题演讲

  • 资源链接 原文:基本上,jQuery是一个很棒的工具,可以让你操纵和控制DOM元素。 如果你只专注于DOM元素而没有Data CRUD,比如build立一个网站而不是Web应用程序,jQuery是最重要的工具之一。 (您也可以使用AngularJS来达到这个目的。)

AngularJS是一个框架 。 它具有以下function

  1. 双向数据绑定
  2. MVW模式(MVC-ish)
  3. 模板
  4. 自定义指令(可重用组件,自定义标记)
  5. REST友好
  6. 深层链接(为任何dynamic页面设置链接)
  7. 表单validation
  8. 服务器通信
  9. 本土化
  10. dependency injection
  11. 完整的testing环境(单元,e2e)

检查这个介绍和这个伟大的介绍

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

或从这些令人敬畏的video教程中学习

如果你想看更多的教程video,看看这篇文章, 收集最好的60 + AngularJS教程 。

你可以使用jQuery与AngularJS没有任何问题。

事实上,AngularJS使用jQuery lite,这是一个很好的工具。

从FAQ

Angular使用jQuery库吗?

是的,如果应用程序正在引导时,Angular可以使用jQuery。 如果你的脚本path中没有jQuery,Angular会回退到我们称之为jQLite的jQuery子集的自己的实现。

但是,不要尝试使用jQuery来修改AngularJS控制器中的DOM,在你的指令中做。

更新:

Angular2被释放。 这里是一个很好的开始资源列表

我想从开发人员的angular度join一些关于AngularJSjQuery的区别。

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

jQuery就像是一首免费的诗歌,你写出线条,保持一些适合你的任务的关系和动力。

在Angular JS中,你应该遵循一些规则,保持动力和关系,也许它更像是古典的Spencerian十四行诗(一位着名的古典诗人),他的诗是结构性的,与许多规则联系在一起。

与AngularJS相比,jQuery更像是一个代码和函数集合(正如前面提到的,DOM操作和快速效果成就非常好),而AngularJS是一个真正的框架,使开发人员能够构build企业网站在一个非常有组织的路由和pipe理中应用大量的数据绑定和交换。

而且,AngularJS没有依赖jQuery来完成任务。 它有两个很好的特性,在jQuery中没有任何意义:

1-angularJS教你如何编码和完成一个目标,而不是只是以任何方式实现一个目标。 值得一提的是,AngularJS充分利用Javascript的核心和核心,为您在应用程序中引入DI(dependency injection)等技术铺平了道路。 要使用angularJS,您应该(或必须)学习更高级的Javascript编码技术。

2-angularJS是完全独立的处理指令和结构您的应用程序; 你可能会简单地声称jQuery可以做同样的事(独立性),但实际上,AngularJS在上面几行中提到过几次,它们在最优秀的结构化MVC方法中是独立的。

最后一点是,没有名字的战争,因为有偏见或主观是非常令人不安的。 jQuery的强大和伟大已经被certificate,但是它们的用法和局限性(任何框架或者软件)都是讨论和类似争论的关注点。

更新:

使用AngularJS是具有决定性的,因为它在实现方面是昂贵的,但是为未来扩展,转换和维护应用程序奠定了坚实的基础。 AngularJS是面向Web的新世界。 它的目标是构build以资源消耗最less为特点的应用程序(仅从服务器中加载必需的资源),快速响应时间以及围绕结构化系统的高度可维护性和可扩展性。

AngularJS: AngularJS用于开发沉重的Web应用程序。 如果在应用程序引导时,AngularJS可以使用jQuery。 如果它不在脚本path中,那么AngularJS会回退到自己的jQuery子集的实现。

jQuery: jQuery是一个小巧,快速和function丰富的JavaScript库。 它使诸如HTML文档遍历和操作,事件处理,animation和Ajax更简单。 jQuery简化了很多来自JavaScript的复杂事情,比如AJAX调用和DOM操作。

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

我认为这是一个非常好的图表,描述了差异。 快速浏览它显示了大部分的差异。

在这里输入图像描述

我想补充的一件事是,可以使AngularJS遵循MVVMdevise模式,而jQuery不遵循任何标准的面向对象的模式。

他们在不同的层面工作。

从初学者的angular度来看 ,最简单的方式是 jQuery的 angular度来看 , jQuery本质上是一个JavaScript的抽象,所以我们为JavaScriptdevise一个页面的方式几乎是我们将如何做到的。 从DOM开始,然后build立一个行为层。 与Angular.Js不一样 。 这个过程真的是从头开始,所以最终的结果是所期望的观点。

使用jQuery,您可以使用Angular.Js创build整个Web应用程序。


jQuery的build立是为了抽象出各种浏览器的特性,并且不需要添加IE6检查等工作。 随着时间的推移,它开发了一个很好的,强大的API,它允许我们做很多事情,但是它的核心就是处理DOM,查找元素,改变UI等等。 把它想象成直接与螺母和螺栓一起工作。

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

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


一个简短的比较可以是这个 –

jQuery的

  • 那些对CSSselect器有适当的知识的人可以很容易的使用
  • 这是一个用于DOM操作的库
  • 与模型无关
  • 轻松操作网页的内容
  • 应用样式以使UI更具吸引力
  • 简单的DOM遍历
  • 效果和animation
  • 简单的使AJAX调用和
  • 实用程序的可用性
  • 没有双向绑定function
  • 在项目规模增加时变得复杂和难以维持
  • 有时你需要编写更多的代码来实现与Angular.Js相同的function

Angular.Js

  • 这是一个MVVM框架
  • 用于创buildSPA(单页应用程序)
  • 它具有路由,指令,双向数据绑定,模型,dependency injection,unit testing等关键特性
  • 是模块化的
  • 可维护,当项目规模增加
  • 是快速的
  • 双向数据绑定REST友好的基于MVC的模式
  • 深层链接
  • 模板
  • 内置表单validation
  • dependency injection
  • 本土化
  • 完整的testing环境
  • 服务器通信

以及更多

在这里输入图像描述

认为这有助于。

更多可以find

  • jQuery与AngularJS:比较与迁移演练
  • “在AngularJS中思考”如果我有一个jQuery背景?
  • jQuery和AngularJS的主要区别是什么?
  • jQuery与AngularJS – 一个很好的比较
  • jQuery和AngularJS有什么区别?

Jquery: –

jQuery is a lightweight and feature-rich JavaScript Library that helps web developers by simplifying the usage of client-side scripting for web applications using JavaScript. It extensively simplifies using JavaScript on a website and it's lightweight as well as fast. So, using jQuery, we can: easily manipulate the contents of a webpage apply styles to make UI more attractive easy DOM traversal effects and animation simple to make AJAX calls and utilities and much more… 

AngularJS: –

 AngularJS is a product by none other the Search Engine Giant Google and it's an open source MVC-based framework(considered to be the best and only next generation framework). AngularJS is a great tool for building highly rich client-side web applications. As being a framework, it dictates us to follow some rules and a structured approach. It's not just a JavaScript library but a framework that is perfectly designed (framework tools are designed to work together in a truly interconnected way). In comparison of features jQuery Vs AngularJS, AngularJS simply offers more features: Two-Way data binding REST friendly MVC-based Pattern Deep Linking Template Form Validation Dependency Injection Localization Full Testing Environment Server Communication