Zepto和jQuery 2有什么区别?

时间:2013-02-12 10:27:11

标签: jquery zepto

有两个类似的项目:

Zepto.js

  

Zepto是一个极简主义的JavaScript库,适用于现代浏览器   主要是与jQuery兼容的API。

jQuery 2.0

  

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

这只是关于表现还是他们遵循不同的方法?

6 个答案:

答案 0 :(得分:51)

Zepto.js和jQuery之间的主要区别是它们各自的文件大小Zepto.js的~20kb(缩小,而不是gzip)而不是jQuery的~80kb,而Zepto.js的~10kb(缩小,Gzip)而不是jQuery的〜 30KB。此外,Zepto对IE<10等浏览器的支持不足或无法保证,its target platforms是:

  • Safari 5+(桌面)
  • Chrome 5+(桌面版)
  • Mozilla Firefox 4 +
  • iOS 4+ Safari
  • Android 2.2+浏览器
  • 其他基于WebKit的浏览器/运行时
  • webOS 1.4.5+浏览器
  • BlackBerry Tablet OS 1.0.7+浏览器
  • Amazon Silk 1.0 +
  • Opera 10 +
  • Internet Explorer 10 +

答案 1 :(得分:23)

jquery 2是〜30kb,当两者都被压缩和缩小时,zepto是~10kb。非gzipped但缩小,jquery 2约为80kb,zepto约为30kb。

使用分析程序检查您网站的受众群体。如果你的大部分用户使用IE9,你需要jquery和zepto不会飞。如果超过百分之几使用IE8及更低版本并且您无法在没有网站的情况下让他们陷入困境,您将需要使用jquery 1.如果您正在针对最后一个,我很抱歉 - 很多新的闪亮玩具都不适合你。

如果您正在为android / ios / phonegap等构建html5应用程序,那么您主要针对webkit,因此zepto确实可以为您节省大量资金。 zepto存在的主要见解和原因是,当仅在webkit上运行时,很多jquery的跨平台解决方案根本就没有必要。

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

答案 2 :(得分:13)

这是一个有点老问题,但我想添加性能。据我所知,Zepto比jQuery表现更好。

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

考虑到大多数应用程序,这是一个巨大的交易,DOM交互是唯一重要的性能统计数据(除了网络请求)。

另外看看那个perf,我可以看到我可以像jQuery那样频繁地执行document.getElementsByClassNAme 8326%,所以如果可能的话我们都应该抛弃所有这些: - )

答案 3 :(得分:5)

Zepto缺少jQuery功能的deferred / promise API。有一个附加的,简单延迟,可以解决这个问题:https://github.com/sudhirj/simply-deferred

答案 4 :(得分:3)

我认为从来没有使用过zepto来快速转换到网络上看看他的冰冷洞穴内部,聪明而强大的Yeti听到人们问,&#34; Zepto在哪里?&#34;回到基础4构思时,我们切换到Zepto(使用jQuery选项),因为它的文件较小,加载时间更短。

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

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

要解决所有这些问题,答案很清楚,因为春天的喜马拉雅天空:基金会5使用jQuery 2.除了更好的速度和行业认可之外,jQuery 2还受益于更好的文档和支持。 jQuery与API兼容。

**

  

但我们假设Zepto比jQuery更快。我们不想   两次做同样的假设,所以我们测试了Zepto与jQuery 2   结果:jQuery 2每秒有更多的操作。这给了基金会   5更好的表现,这意味着更好的体验   用户。

**

最后,我们希望帮助人们更快地设计出优秀的产品 - 而这一次,这意味着在世界范围内提供最具响应性的前端框架可以提高速度。

答案 5 :(得分:1)

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

我会说这取决于你的项目。对于个人或有限使用,Zepto可能是更好的选择。但是,jQuery更受其他库的支持,如果文件大小是确定原因的唯一因素,那么它就是有缺陷的。加载页面后应加载JavaScript,因此在任何一种情况下都不会妨碍页面加载时间。

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