Zepto和jQuery 2有什么区别?


81

有两个类似的项目:

Zepto.js

Zepto是用于现代浏览器的极简JavaScript库,具有与jQuery兼容的API。

jQuery 2.0

jQuery 2.0 beta:这是您对未来的口味,它可以更快,更小而无需支持IE 6、7或8。这是特定于平台的HTML应用程序的绝佳选择。

这仅仅是关于性能还是它们采用不同的方法?


3
万一您尝试从jQuery切换到Zepto:blog.pamelafox.org/2011/11/porting-from-jquery-to-zepto.html
Aurelio

37
这是关于特定编程问题的有用,有趣,相关的问题。为什么关闭了?不是“更好”,而是“使用的注意事项”
Benjamin Gruenbaum

Answers:


52

Zepto.js和jQuery之间的主要区别在于它们各自的文件大小分别为Zepto.js的〜20kb(最小,不压缩),而不是jQuery的〜80kb,和Zepto.js的〜10kb(最小,压缩),而不是jQuery的〜30kb。此外,Zepto对浏览器的支持(例如IE<10缺少或不能保证),其目标平台是:

  • Safari 5+(台式机)
  • Chrome 5+(台式机)
  • Mozilla Firefox 4+
  • iOS 4+ Safari
  • Android 2.2以上版本的浏览器
  • 其他基于WebKit的浏览器/运行时
  • webOS 1.4.5+浏览器
  • BlackBerry Tablet OS 1.0.7+浏览器
  • 亚马逊丝绸1.0+
  • 歌剧10+
  • Internet Explorer 10+

14
压缩和缩小jquery 2的大小约为30kb,zepto的大小约为10kb。非压缩后,jquery 2仍为〜80kb,zepto为〜30kb。
asparagino

-1。正如asparagino指出的,MHD的数字不正确。他的回答是正确的。
杰森

4
Zepto和jQuery均支持自定义版本,因此两者的厨房水槽尺寸可能都不那么重要。区别在于jQuery具有更好的支持和性能,更新频率更高,并且社区更加活跃。jQuery 2.0弥补了Zepto曾经填补的空白,Zepto的吸引力在很大程度上被削弱了。
约翰·戴维·道尔顿2014年

23

将两者压缩并缩小后,jquery 2的大小约为30kb,zepto的大小约为10kb。未压缩但最小化,jquery 2为〜80kb,zepto为〜30kb。

使用分析程序检查您网站的受众群体。如果您的用户中有很大一部分使用IE9,则需要使用jquery,而zepto不会运行。如果超过百分之几的人使用IE8及更低版本的IE8,并且您无法在没有您的网站的情况下陷入困境,那么您将需要使用jquery 1。不会为你工作。

如果您要为android / ios / phonegap等构建html5应用,则您主要针对的是webkit,因此zepto确实为您节省了很多空间。zepto存在的主要见解和原因是,当仅在Webkit上运行时,根本不需要很多jquery的跨平台解决方法。

Zepto确实还添加了一些触摸事件处理程序来协助移动开发人员,但主要是您需要考虑的页面权重与平台支持。


1
大概,如果您选择任何一个平台,那么就不需要跨平台解决方法了:)
Rob Grant

Zepto接近〜25kb;)。他们具有构建说明,以将库重新打包为所需的最小大小。
杰森

我假设您正在谈论的是非压缩但最小的版本,自撰写此书以来的八个月中,它的波动幅度并没有超过kb。所以... 25kb是〜30kb:P
asparagino

14

这是一个有点老的问题,但是我想提高性能。据我所知,Zepto的性能优于jQuery。

jsPerf显示了不同的结果。与Zepto相比,我可以频繁地使用jQuery的类选择(单个元素)为137%。对于ID选择,我可以经常使用jQuery的285%。

考虑到大多数应用程序,这是一笔大数目,DOM交互是唯一重要的性能统计信息(网络请求除外)。

还要看一下性能,我可以看到我可以像jQuery一样经常执行document.getElementsByClassNAme 8326%,因此,如果可能的话,我们都应该抛弃所有这些:-)


3
那不是Zurb的家伙说的。他们从CSS框架中删除Zepto的原因之一是因为即使Zepto的文件较小,jQuery的性能也优于Zepto。其他原因是因为许多插件是为jQuery编写的。查阅他们的博客文章:zurb.com/article/1293/why-we-dropped-zepto
Ricardo Zea

2
@ricardozea,这个答案和那篇文章说的是同样的话:使用选择器,jQuery更快。不过,要清楚一点,您需要大约100个jsperfs来全面测试这些库,然后雇用一名统计人员来确定对于普通站点和普通用户而言,平均而言更快。
Brigand 2014年

1
您说的是:“ ... Zepto的性能优于jQuery。 ”。是的,我们同意jQuery更快。
Ricardo Zea 2014年

1
嘿,不:-)这就是我被告知的;我的发现是jQuery更快(至少具有选择器)。
Brigand 2014年


3

我认为从未使用zepto来快速过渡到网络,看看他冰冷的洞穴深处,睿智而强大的雪人听到人们问:“ Zepto到哪里去了?” 早在构思Foundation 4时,我们便改用Zepto(带有jQuery选项),因为它的文件较小,加载时间更快。

但是随着时间的流逝,我们发现更小的文件大小并没有转化为总体上更好的性能。当然,Zepto快速下载。但是一旦加载,它就不如jQuery快。许多第三方插件都需要jQuery,而不是Zepto,这并没有帮助-实际上,我们发现某些第三方JavaScript与Zepto完全冲突。

维护不同的代码库对我们来说也不容易。例如,Zepto缺少适当的高度计算功能,从而使某些网格计算变得困难。

为了解决所有这些问题,答案是明确的:喜马拉雅山的春天:Foundation 5使用jQuery2。除了更快的速度和行业认可度之外,jQuery 2还受益于更好的文档和支持。jQuery与API兼容。

**

但是我们认为Zepto将比jQuery快。我们不想两次做出相同的假设,因此我们测试了Zepto与jQuery2。结果:jQuery 2每秒执行更多操作。这样可以使Foundation 5拥有更好的性能,从而为所有用户带来更好的体验。

**

最后,我们希望帮助人们更快地设计出出色的产品-这次,这意味着为世界上响应速度最快的前端框架本身带来提速。


如果您如此关注性能,那么为什么要使用jQuery?当然,jQuery具有比Zepto更好的性能,但是与VanillaJS相比,jQuery的性能糟透了。基本上,VanillaJS是jQuery的更好和更好的版本。想象一下,将大量高性能优化功能的库打包到一个Featherlight包中。这就是VanillaJS的力量。我强烈建议您尝试一下。
杰克·吉芬

1

根据我的阅读,人们似乎非常倾向于Zepto。其背后最常见的原因是文件大小,但是jQuery 2在加载后实际上比Zepto更快。另外,由于大多数人都是围绕jQuery开发的,因此您不会找到对Zepto的太多支持。我不建议您不使用Zepto,但是您应该研究为什么要使用Zepto,以及如果您要使用其他JavaScript库,则需要使用它的支持/冲突。

我会说这取决于您的项目。对于个人使用或有限使用,Zepto可能是更好的选择。但是,jQuery受到其他库的更多支持,如果仅由文件大小决定您的原因,那么它就有缺陷了。应在页面加载后加载JavaScript,因此无论哪种情况都不会影响页面加载时间。

是性能测试,包括jQuery 1.7.2,Zepto 1.0rc1和jQMobi 1.03。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.