首页 文章

AngularJS与jQuery有何不同?

提问于
浏览
378

我只知道一个js库,那是jQuery .
但是我的其他编码员正在将AngularJS更改为新项目中的默认库 .

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

6 回答

  • 10
    • 当Angular 1是一个框架时,Angular 2是一个 platform . (ref

    对于开发人员,Angular2提供了一些除了在屏幕上显示数据之外的功能例如,使用angular2 cli工具可以帮助您"pre-compile"您的代码并生成必要的JavaScript代码(tree-shaking),将下载大小缩小到35Kish .

    • Angular2模拟Shadow DOM . (ref

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

    AngularJS是 framework . 它具有以下功能

    • 双向数据绑定

    • MVW模式(MVC-ish)

    • 模板

    • Custom-directive(可重用组件,自定义标记)

    • REST友好

    • 深度链接(为任何动态页面设置链接)

    • 表单验证

    • 服务器通信

    • 本地化

    • 依赖注入

    • 完整的测试环境(单位,e2e)

    检查这个presentationgreat introduction

    别忘了阅读官方developer guide

    或者从这些真棒中学习video tutorials

    如果您想观看更多教程视频,请查看此帖子,Collection of best 60+ AngularJS tutorials .

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

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

    来自FAQ

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

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

    Update:

    Angular2发布了 . Here 是一个很棒的初学者资源列表

  • 16

    我想从开发人员的角度为 jQuery 添加一些关于 AngularJS 差异的内容 .

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

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

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

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

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

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

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

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

    Update:

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

  • 39

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

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

    在这里阅读更多详情:angularjs-vs-jquery

  • 27

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

    enter image description here

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

  • 3

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

    查看差异的最简单方法是 from a beginner perspective 本质上是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触发)以及更多内容 . 可以把它想象成更高层次的工作,可以将组件连接在一起,而不是直接在螺母和螺栓水平上 .

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


    A short comparison can be this-

    jQuery

    • 对CSS选择器有相关知识的人可以轻松使用

    • 这是一个用于DOM操作的库

    • 与模型无关

    • 轻松操纵网页内容

    • 应用样式以使UI更具吸引力

    • Easy DOM遍历

    • 效果和动画

    • 简单地进行AJAX调用和

    • 实用程序可用性

    • 没有双向绑定功能
      当项目规模增加时,

    • 变得复杂且难以维护

    • 有时您必须编写更多代码才能实现与Angular.Js中相同的功能

    Angular.Js

    • 这是一个MVVM框架

    • 用于创建SPA(单页应用程序)

    • 它具有路由等关键功能,指令,双向数据绑定,模型,依赖注入,单元测试等

    • 是模块化的

    • 当项目规模增加时可维护

    • 很快

    • 双向数据绑定REST友好的基于MVC的模式

    • 深层链接

    • 模板

    • 内置表单验证

    • 依赖注入

    • 本地化

    • 完整的测试环境

    • 服务器通信

    以及更多

    enter image description here

    认为这有帮助 .

    More can be found -

  • 410

    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
    

相关问题