关于javascript:AngularJS与jQuery有何不同

How is AngularJS different from jQuery

我只知道一个JS库,那就是JQuery。但是小组中的其他编码人员正在将AngularJS更改为新项目中的默认库。

我对此一无所知。它与jquery有什么不同?我已经为jquery中的类似任务完成了一组函数。我还可以在AngularJS中使用jQuery吗?


  • 角度1是框架,角度2是平台。(参考)
  • 对于开发人员来说,Angular2除了在屏幕上显示数据之外,还提供了一些功能。例如,使用angular2 cli工具可以帮助您"预编译"代码并生成必要的javascript代码(树晃动),从而将下载大小缩小到35kish。

  • Angular2模拟了阴影DOM。(参考)
  • 这为服务器渲染打开了一扇大门,可以解决SEO问题,并且可以使用在浏览器上不工作的NativeScript等。

    • 官方文件网站

    • Ng Conf 2016的第一天主题演讲

    • 资源链接原件:基本上,jquery是操作和控制DOM元素的一个很好的工具。如果您只关注dom元素而不关注数据crud,比如构建一个网站而不是Web应用程序,那么jquery是最重要的工具之一。(您也可以使用AngularJS。)

    AngularJS是一个框架。它有以下特点

  • 双向数据绑定
  • MVW模式(MVC ISH)
  • 模板
  • 自定义指令(可重用组件、自定义标记)
  • 休息友好
  • 深度链接(为任何动态页面设置链接)
  • 形式验证
  • 服务器通信
  • 国产化
  • 依赖注入
  • 完整测试环境(两个单元,E2e)
  • 检查一下这个演示和这个伟大的介绍

    别忘了阅读官方的开发者指南

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

    如果你想看更多的教程视频,看看这篇文章,收集最好的60+安古拉吉斯教程。

    您可以在AngularJS中使用jQuery,而无需任何问题。

    事实上,AngularJS在其中使用了jQueryLite,这是一个很好的工具。

    从常见问题谈起

    Does Angular use the jQuery library?

    Yes, Angular can use jQuery if it's present in your app when the
    application is being bootstrapped. If jQuery is not present in your
    script path, Angular falls back to its own implementation of the
    subset of jQuery that we call jQLite.

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

    更新:

    角度2被释放。这是一个很好的初学者资源列表


    我想从开发人员的角度添加一些关于AngularJS与jQuery之间的区别。

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

    jquery就像是一首自由的诗,你写一些行,保持一些关系和势头,以适合你要完成的任务。

    不过,在角度JS中,你应该遵循一些规则,同时保持适当的动量和关系,也许这更像是古典斯宾塞式十四行诗(著名的古典诗人),它的诗是结构化的,并与许多规则相联系。

    与AngularJS相比,jQuery更像是代码和函数的集合(如前所述,这对DOM操作和快速效果的实现非常有利),而AngularJS是一个真正的框架,它使开发人员能够在一个超级组织内构建一个具有大量数据绑定和交换的企业Web应用程序。网络化路由和管理。

    此外,AngularJS不依赖jQuery来完成其任务。It has two very superb features which are not found in jQuery in any sense:

    1-角度JS教你如何编码和完成一个目标,而不仅仅是通过任何方式完成一个目标。值得一提的是,AngularJS充分利用了JavaScripts的核心和核心,为您在应用程序中融入DI(依赖注入)等技术铺平了道路。要使用AngularJS,您应该(或者必须)学习更多用JavaScript编码的高级技术。

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

    最后一点要注意的是,没有名字之战,因为偏见或主观的说法会让人很不安。jquery的规模和伟大已经被证明,但它们的使用和局限(任何框架或软件)是讨论和类似辩论的关注点。

    更新:

    使用AngularJS是决定性的,因为它的实现成本很高,但为将来扩展、转换和维护应用程序奠定了坚实的基础。AngularJS是为网络的新世界而设计的。它的目标是构建资源消耗最少(仅从服务器加载必要的资源)、响应时间快、围绕结构化系统的可维护性和可扩展性程度高的应用程序。


    AngularJS:AngularJS用于开发重型Web应用程序。如果jquery在应用程序引导时出现在web应用程序中,那么angularjs可以使用它。如果脚本路径中没有它,那么AngularJS将返回到它自己的jQuery子集实现中。

    jQuery:jquery是一个小型、快速、功能丰富的JavaScript库。它使HTML文档的遍历和操作、事件处理、动画和Ajax等操作更加简单。jquery从JavaScript中简化了很多复杂的事情,比如Ajax调用和DOM操作。

    阅读更多详细信息:AngularJS vs JQuery


    我认为这是一个很好的图表,简单地描述了不同之处。一眼就能看出其中的大部分差异。

    enter image description here

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


    他们在不同的层次上工作。

    从初学者的角度来看区别的最简单的方法是jquery本质上是一个javascript的抽象,所以我们为javascript设计页面的方法几乎就是我们将如何为jquery设计页面。从DOM开始,然后在此基础上构建行为层。Angular.js的情况并非如此。这个过程实际上是从地面开始的,所以最终的结果就是期望的视图。

    使用jquery可以进行DOM操作,使用angular.js可以创建整个Web应用程序。

    jQuery是为了抽象出各种浏览器特性而构建的,它可以在不需要添加IE6检查等的情况下使用DOM。随着时间的推移,它开发了一个好的、健壮的API,允许我们做很多事情,但在其核心,它是用来处理DOM、查找元素、更改UI等等。把它看作是直接使用螺母和螺栓。

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

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

    一个简短的比较可以是-

    JQuery

    • 对CSS选择器有适当了解的人可以很容易地使用
    • 它是用于DOM操作的库
    • 与模型无关
    • 轻松操作网页内容
    • 应用样式使用户界面更具吸引力
    • 简单的DOM遍历
    • 效果和动画
    • 简单的Ajax调用和
    • 实用程序可用性
    • 没有双向绑定功能
    • 当项目规模增加时,变得复杂且难以维护
    • 有时您需要编写更多的代码来实现与angular.js相同的功能。

    角的

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

    还有更多

    enter image description here

    认为这有帮助。

    可以找到更多-

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

    jQuery:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    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:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    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