到jQuery还是不到jQuery?

到jQuery还是不到jQuery?,jquery,performance,load,xmlhttprequest,Jquery,Performance,Load,Xmlhttprequest,我很喜欢为我一直在开发的网络社区添加实用的赏心悦目的东西,但随着事情开始累积,我担心加载时间 拥有用户真的更快吗 加载(希望缓存)的副本 来自谷歌存储库的jquery 是否使用jQuery进行AJAX调用 提高/降低基础设施的效率 javascript xmlHTTP请求 有没有一种切实可行的方法来减少包含脚本的数量?例如,我包括来自google的jQuery和jQueryUI、表分类器和growl插件 除非您的服务器比Google的服务器更近、更快(这是极不可能的,除非在内部网中),否则从Go

我很喜欢为我一直在开发的网络社区添加实用的赏心悦目的东西,但随着事情开始累积,我担心加载时间

  • 拥有用户真的更快吗 加载(希望缓存)的副本 来自谷歌存储库的jquery

  • 是否使用jQuery进行AJAX调用 提高/降低基础设施的效率 javascript xmlHTTP请求

  • 有没有一种切实可行的方法来减少包含脚本的数量?例如,我包括来自google的jQuery和jQueryUI、表分类器和growl插件

  • 除非您的服务器比Google的服务器更近、更快(这是极不可能的,除非在内部网中),否则从Google加载总是更快。

    即使你的服务器比谷歌的更近、更快,它们也会更快,除非拷贝没有被缓存,并且你从不同的域加载它。(因为每个服务器有两个连接限制)

  • jQuery
    $.ajax
    调用和原始XMLHTTPRequest之间应该没有可测量的差异。(除非您正在进行数以百万计的AJAX调用,在这种情况下,您还有其他问题)
    然而,jQuery的API更易于使用

  • 您可以将所有jQuery插件粘贴到单个(缩小的)文件中。
    目前可用的最好的迷你们是谷歌的,其次是微软的

  • 1.让用户加载(希望缓存)的副本真的更快吗 来自谷歌存储库的jquery

    可以,除非您的计算机未连接到internet。如果它是一个公司应用程序,并且脚本在本地可用,我无法想象需要使用谷歌的服务器

    2.使用jQuery进行AJAX调用是否比使用basic提高/降低了效率 javascript xmlHTTP请求

    使用jQuery的主要原因是它非常有用,而且它可以抽象出浏览器之间的差异。这些好处远远超过了通过在裸机Javascript中编写Ajax调用而获得的任何微小的性能提升

    3.是否有切实可行的方法来减少包含的脚本数量?对于 例如,我包括jQuery和jQuery 来自谷歌的用户界面、表格分拣机和 咆哮插件

    如果您想要所有这些功能,就不需要了

    jQueryUI允许您下载只包含所需功能的自定义脚本集合

    1.让用户从谷歌的存储库加载(希望缓存)jquery副本真的更快吗

    对。谷歌的服务器在地理位置上可以从离用户最近的位置为页面提供服务,以提高性能

    2.使用jQuery进行AJAX调用是否比基本的javascript xmlHTTP请求提高/降低了效率

    jQuery在内部使用
    XmlHttpRequest
    ,因此不会更快。它的速度只能与浏览器实现XmlHttpRequest的速度一样快

    3.是否有切实可行的方法来减少包含的脚本数量?例如,我包括来自google的jQuery和jQueryUI、表分类器和growl插件

    为了减少脚本,您必须自己将它们组合起来,并将它们托管在您自己的服务器/CDN上。谷歌只提供

    jQuery真正的亮点在于它的抽象层,它可以帮助您避免处理跨浏览器的不兼容性。在这方面,它做得相当好

    就性能而言,它还击败了许多其他JavaScript框架。记住,任何时候添加抽象层,都会损失一些运行时性能。当您失去运行时性能时,您可以通过节省开发人员的成本来弥补,因为他们可以轻松地开发JavaScript代码


    总的来说,我不会太担心jQuery的性能,除非您注意到它会成为一个问题。在这种情况下,尝试识别瓶颈并对其进行优化。简单地使用jQuery几乎从来都不是网站速度慢的原因。

    Q1:让用户从谷歌的存储库加载jQuery副本(希望缓存)真的更快吗

    浏览器不会在第一次加载javascript后缓存它吗?我认为,如果你从谷歌或你自己的服务器加载它,这是无关紧要的

    我建议您提供自己版本的jQuery库,以便在未来jQuery的升级使您在两年前编写的应用程序中使用的功能失效时不会出现突然的问题。(如果您使用谷歌最新的jQuery.js)

    问题2:将jQuery用于AJAX调用是否比基本的javascript xmlHTTP请求提高/降低了效率

    这里没有效率变化。只会让你更容易编程

    问题3:有没有切实可行的方法来减少包含的脚本数量?例如,我包括来自google的jQuery和jQueryUI、表分类器和growl插件

    谁在乎包含的脚本数量?这不应该成为设计决策中的一个因素。如果你需要它,就用它。如果你没有,那就不要包括在内。在运行应用程序的服务器上托管所有库,不要再担心了


    从GoogleDepository加载jQuery是否更快取决于很多因素。谷歌有很多服务器,所以如果你的用户分布在世界各地,它很可能更接近谷歌服务器而不是你的服务器。另一方面,浏览器必须打开另一个较慢的连接。您可以期望的唯一真正优势是文件已经在缓存中,因此根本不需要加载它

    使用jQuery进行ajax调用并不比自己进行调用更有效。您得到的是,使用现成的库更容易


    要减少要请求的文件数,可以将它们合并到单个文件中。另一方面,这意味着您将使用所有页面上的所有库。即使文件已缓存,浏览器仍必须解析所有代码。

    谢谢,此信息非常有用