83

有两个类似的项目:

Zepto.js

Zepto 是一个用于现代浏览器的极简 JavaScript 库,具有很大程度上与 jQuery 兼容的 API。

jQuery 2.0

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

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

4

6 回答 6

53

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

  • Safari 5+(桌面)
  • Chrome 5+(桌面)
  • 火狐浏览器 4+
  • iOS 4+ Safari
  • 安卓 2.2+ 浏览器
  • 其他基于 WebKit 的浏览器/运行时
  • webOS 1.4.5+ 浏览器
  • 黑莓平板操作系统 1.0.7+ 浏览器
  • 亚马逊丝绸 1.0+
  • 歌剧 10+
  • 互联网浏览器 10+
于 2013-02-12T10:33:42.300 回答
23

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

使用分析程序检查您网站的受众。如果你的大部分用户使用 IE9,你需要 jquery 并且 zepto 不会飞。如果超过百分之几使用 IE8 或更低版本,并且您无法面对让他们在没有您的网站的情况下陷入困境,您将需要使用 jquery 1。如果您的目标是最后一个,对不起 - 很多新的闪亮玩具不会为你工作。

如果您正在为 android/ios/phonegap 等构建 html5 应用程序,那么您主要针对 webkit,因此 zepto 确实可以为您节省大量空间。zepto 存在的主要见解和原因是,当仅在 webkit 平台上运行时,许多 jquery 的跨平台变通方法都是不必要的。

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

于 2013-06-13T19:13:27.327 回答
14

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

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

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

还看看那个性能,我可以看到我可以像 jQuery 一样经常做 document.getElementsByClassNAme 8326%,所以如果可能的话,我们都应该放弃所有这些:-)

于 2013-08-28T23:52:40.243 回答
5

Zepto 缺少 jQuery 提供的延迟/承诺 API。有一个附加组件,Simply Deferred,可以解决这个问题:https ://github.com/sudhirj/simply-deferred 。

于 2013-07-18T20:10:03.540 回答
3

我认为从未使用 zepto 快速过渡到 web 看看在他冰冷的洞穴深处,聪明而强大的 Yeti 听到人们问:“Zepto 去哪儿了?” 回到 Foundation 4 构思时,我们切换到 Zepto(带有 jQ​​uery 选项),因为它的文件更小,加载时间更快。

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

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

为了解决这一切,答案就像春天的喜马拉雅天空一样清晰:Foundation 5 使用 jQuery 2。除了更快的速度和行业接受度之外,jQuery 2 还受益于更好的文档和支持。jQuery 与 API 兼容。

**

但是我们假设 Zepto 会比 jQuery 更快。我们不想做同样的假设两次,所以我们测试了 Zepto 与 jQuery 2。结果:jQuery 2 每秒有更多的操作。这为 Foundation 5 提供了更好的性能,从而为所有用户带来更好的体验。

**

最后,我们希望帮助人们更快地设计出伟大的产品——而这一次,这意味着为世界上响应速度最快的前端框架本身提供速度提升。

于 2016-03-27T14:22:21.583 回答
1

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

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

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

于 2014-08-05T21:07:54.053 回答