7

我们即将开始重新设计我们的网站,并正在探索提高性能的所有选项。该网站在加载 javascript 的广告中相当繁重,因此我们需要真正精简使用我们使用的 javascript。

你们中是否有人对我可以探索的更轻量级框架或更高效的框架有任何经验?或者您可以指出我的任何资源?YUI 看起来是个有趣的概念……装载机是否正在愤怒地进行测试?有什么好处吗?

任何想法将不胜感激。

干杯。

编辑:对不起,我不清楚。目前网站的性能还不错,我们不是因为性能问题而重新设计,而是因为品牌更名。我们只是想借此机会审查最佳实践。

4

8 回答 8

11

jQuery 1.4.2精益求精。_ 你会很难找到更快或更轻量级的东西。

例如,这里有一个来自 mootools的名为slickspeed的框架测试。它测试框架在 DOM 中查找元素的能力。正在测试的 jQuery 版本是 1.2.6。根据您的浏览器,jQuery 的表现非常出色。在我的 Chrome 浏览器中,jQuery 以 20 毫秒的总时间击败了所有其他浏览器。

从 1.2 版本开始,jQuery 在优化和速度方面有了惊人的改进,尤其是在 1.4 版本中。

也就是说,框架不会让你的代码变得更好。您可以使用任何框架(包括 jQuery)编写一些非常慢的脚本。

但是,如果您编写优化的代码,jQuery 会如此之快,您甚至都不会注意到。

上面Pointy的评论是正确的。这些家伙整天都在担心如何表现得更好。所以它非常优化。

附录

这是来自 jQuery 的博客:

虽然像 Taskspeed 这样的综合基准测试如果分解为单独的子测试以供进一步研究可能会很有趣,但作为一个项目,我们倾向于远离将它们用作真实的、整体的库性能的准确衡量标准。考虑到库有多少方面组成,更不用说它们提供的不同技术,累积结果很少反映实际用户可能如何使用库。

所以随你的便吧。

于 2010-09-29T16:09:26.007 回答
7

对于较大的应用程序,我更喜欢 YUI3,几乎任何“按需加载”都可以提供好处的地方 :)

我同意减速主要源于你如何实现你的应用程序,这是 YUI 的好处之一,恕我直言,它自然地倾向于更模块化的实现。

使用 yui 加载器引入页面元素小部件样式允许良好的代码重用(和缓存)以及让用户更快地看到“东西”。

不过,它并不能真正解决您的 JS 广告问题,为此,您可以做的最好的事情是将其加载到尽可能靠近页面底部的位置,也许看看广告服务器有哪些加载选项。

回复:斯蒂芬的评论嗯,紧循环的原始速度有时是有意义的,有时不是。还有一个用于比较的实现的问题,Ejohns 版本中发布的 YUI3 代码与 jQuery 代码相比看起来是积极的 gimped,看第一个 fx。相对而言,jQuery 从字符串中添加了几乎完整的 DOM 元素,而 YUI3 正在经历各种循环。

对于由了解 YUI3 的人编写的版本,请查看http://yuilibrary.com/~msweeney/yui-tests/taskspeed/没有表示最新的 jquery,但它确实使 YUI3 快了约 4 倍总体上比我的 Chrome 中的 jquery 1.3.2。

更新

http://www.yuiblog.com/blog/2010/10/27/jquery-and-yui-3-a-tale-of-two-javascript-libraries/ yui3 的 jquery 用户体验。

于 2010-09-29T16:41:45.777 回答
1

可能最好的起点不是询问哪些框架可以提供帮助,而是询问为什么您当前的站点性能不佳。我会从雅虎的 YSlow 和 Dynatrace ajax 版本等工具开始。Dynatrace 很好,因为它会指出使您的页面变慢的 javascript/dom manip 内容。但是,您将需要使用的不仅仅是两个性能工具,因为它们几乎都有自己的想法,即是什么让页面变得更快。一旦你把它弄下来,我就会进入一个论坛,并说明你在 X 上遇到了性能问题,我可以做些什么来解决。

于 2010-09-29T16:45:09.990 回答
1

vapor.js 是世界上最小、最快的 JavaScript 库

http://vaporjs.com/

于 2010-09-29T19:10:50.840 回答
1

我认为你应该看看 zepto.js

http://zeptojs.com/

本文为您提供了一些关于移植 jquery 代码的建议

http://blog.pamelafox.org/2012/03/porting-jquery-plugins-to-zepto-tips.html

于 2012-08-27T06:20:56.483 回答
0

如果编码正确,jQuery 是非常轻量级的。听起来您使用的框架不是问题,但是要么a)为什么您编写的javascript执行缓慢,或者b)为什么您开始使用这么多缓慢加载的广告。

但是如果你真的想研究其他框架,这里有一个方便的比较图表:JavaScript 框架的比较

于 2010-09-29T16:08:53.447 回答
0

我刚刚使用 jquery 和 jquery UI (http://jqueryui.com/) 为我们公司编写了一个内部应用程序,并与 c# 混合。我发现它非常精简和快速 - 没有任何问题。

jquery ui 可以轻松地为网站设置主题...

通过添加其他组件,如 blockui、jgrowl 等,您应该能够做任何您想做的事情!

于 2010-09-29T16:55:15.267 回答
0

Sprint是一种小型、快速的替代方案。与最新版本的 jQuery 和 Zepto 相比,查看一些函数的基准测试的 repo。

于 2015-06-08T22:23:52.667 回答