2009-08-30 18 views
2

我一直在使用JQuery,但主要是没有插件 - 我现在正在寻找一个可以利用一堆插件的项目 - 在项目中使用大量插件是否会有任何性能损失 - 可以说10-20个插件的顺序?有很多插件的JQuery性能?

如果JQuery及其插件包含在所有页面中,性能会受到怎样的影响 - 即使所有插件没有在每个页面上使用?

回答

4

插件的质量差异很大。有些使用最佳实践做得很好,有些则没有。有些非常简洁,其他则臃肿,效率低下。如果您提供了您正在考虑的插件列表,我们可以提供更多建议。

我个人所有的脚本合并成一个大的缩小的脚本文件,而不是必须保持在不同的网页脚本文件不同的组合也离开了客户端与一个脚本的资源下载。

但是一如既往,关键是要分析您的UI和频繁。做好了以上第一,如果遇到性能问题,然后重构你在做什么。

0

我假设你正在谈论js文件加载时间。

我建议你使用YUI压缩器之类的东西将所有的jquery和插件文件打包成一个文件。同时使用etags来处理你的静态文件。

这样,您的用户只能加载一次js文件,并且您可以在整个网站中使用它。

编辑:

对于执行性能,这取决于您使用的插件的代码质量和实施。例如,如果您使用livequery插件太多,它会减慢应用程序。这是高质量的例子,但实施决策导致性能下降。然而,使用jQuery#live(v 1.3或更高版本)不会损害性能,因为底层设计和实现完全不同。其结果是#live与liveQuery相比功能较弱,但速度更快。因此,阅读源代码以确保代码质量和实施限制以避免性能问题非常重要。

+0

我不是在谈论文件加载时间 - 那是相当明显的只取决于文件大小 - 我不知道是否被加载,但不是当他们加载大量的jQuery插件,会影响“页面/应用”的表现被使用。 我完全理解你使用某个库或插件的越多,越会影响性能 - 但有什么装载这些插件时影响一种消极的方式表现?如果你不使用它 – 2009-08-30 19:21:49

+0

加载插件不会影响性能。但它会增加内存占用。此外,我添加了执行性能相关的建议。 – 2009-08-30 19:50:26

1

John Resig(jQuery创建者)拥有a good way of profiling jQuery插件等。我会说,看看性能如何受到影响的最好方法是使用所需的所有插件并进行测试。

添加大量的js调用也会使http请求最大化,从而使您的网站变慢。读yahoo best practices并使用它的扩展Yslow是一个好主意,测试您的网站,看看有什么可以改进。谷歌已经speed articles as well.

1

还有这里要考虑两件事情:

  1. 页面加载 - 这显然是包含在一个页面的文件越多越慢。这可以通过缓存和合并文件来缓解。
  2. Javascript性能 - 这将取决于插件编写的程度。尽管很多插件都很棒,但我发现很多臃肿和写入的内容都考虑到了每个事件,但这些插件可能会变慢。使用你的判断。
2

插件的唯一不变成本是下载它们的成本,即它们越大,页面加载越慢。然而,我见过的大多数插件(和JQuery本身)都很小,或者很小,所以它并不重要。

最后,重要的是你如何使用它们以及它们在做什么样的初始化。没有一个清单,没有人可以真正告诉你。在构建页面时,您只需要注意,并注意您的操作。编写一些JQuery可以很容易地修改大量DOM元素,而不会意识到这一点。小心那个。

建立您的网站,并通过测量来验证。