有两个类似的项目:
Zepto 是一个用于现代浏览器的极简 JavaScript 库,具有很大程度上与 jQuery 兼容的 API。
jQuery 2.0 beta:这是您对未来的品味,一个可以更快、更小而无需支持 IE 6、7 或 8 的 jQuery。它是特定于平台的 HTML 应用程序的绝佳选择。
这只是关于性能还是他们遵循不同的方法?
有两个类似的项目:
Zepto 是一个用于现代浏览器的极简 JavaScript 库,具有很大程度上与 jQuery 兼容的 API。
jQuery 2.0 beta:这是您对未来的品味,一个可以更快、更小而无需支持 IE 6、7 或 8 的 jQuery。它是特定于平台的 HTML 应用程序的绝佳选择。
这只是关于性能还是他们遵循不同的方法?
Zepto.js 和 jQuery 之间的主要区别在于它们各自的文件大小是 Zepto.js 的 ~20kb(缩小,未压缩)而不是 jQuery 的 ~80kb,Zepto.js 的 ~10kb(压缩,压缩)而不是 jQuery 的 ~30kb。此外,Zepto 对浏览器的支持IE<10
要么缺乏要么不能保证,它的目标平台是:
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 还添加了一些触摸事件处理程序来协助移动开发,但主要是您需要考虑的页面权重与平台支持。
这是一个有点老的问题,但我想增加性能。据我所知,Zepto 的表现优于 jQuery。
这个jsPerf显示了不同的结果。与 Zepto 相比,我可以经常使用 jQuery 的类选择(单个元素) 137%。对于 ID 选择,我可以经常使用 jQuery 的 285%。
考虑到大多数应用程序,这是一个巨大的交易,DOM 交互是唯一重要的性能统计数据(网络请求除外)。
还看看那个性能,我可以看到我可以像 jQuery 一样经常做 document.getElementsByClassNAme 8326%,所以如果可能的话,我们都应该放弃所有这些:-)
Zepto 缺少 jQuery 提供的延迟/承诺 API。有一个附加组件,Simply Deferred,可以解决这个问题:https ://github.com/sudhirj/simply-deferred 。
我认为从未使用 zepto 快速过渡到 web 看看在他冰冷的洞穴深处,聪明而强大的 Yeti 听到人们问:“Zepto 去哪儿了?” 回到 Foundation 4 构思时,我们切换到 Zepto(带有 jQuery 选项),因为它的文件更小,加载时间更快。
但随着时间的推移,我们发现更轻的文件大小并没有转化为更好的整体性能。当然,Zepto 下载速度很快。但是一旦加载,它就没有jQuery那么快了。许多第三方插件需要 jQuery,而不是 Zepto,这并没有帮助——事实上,我们发现一些第三方 JavaScript 与 Zepto 完全冲突。
维护不同的代码库对我们来说也不容易。例如,Zepto 缺乏适当的高度计算功能,使得某些网格计算变得困难。
为了解决这一切,答案就像春天的喜马拉雅天空一样清晰:Foundation 5 使用 jQuery 2。除了更快的速度和行业接受度之外,jQuery 2 还受益于更好的文档和支持。jQuery 与 API 兼容。
**
但是我们假设 Zepto 会比 jQuery 更快。我们不想做同样的假设两次,所以我们测试了 Zepto 与 jQuery 2。结果:jQuery 2 每秒有更多的操作。这为 Foundation 5 提供了更好的性能,从而为所有用户带来更好的体验。
**
最后,我们希望帮助人们更快地设计出伟大的产品——而这一次,这意味着为世界上响应速度最快的前端框架本身提供速度提升。
根据我的阅读,人们似乎严重倾向于 Zepto。最常见的原因是文件大小,但 jQuery 2 在加载后实际上比 Zepto 快。此外,由于大多数人都是围绕 jQuery 开发的,因此您不会发现对 Zepto 的太多支持。我并不是建议你不应该使用 Zepto,但你应该看看你为什么要使用它,以及你使用的其他 JavaScript 库是否支持/冲突。
我会说这取决于你的项目。对于个人或有限使用,Zepto 可能是更好的选择。但是,其他库更支持 jQuery,如果文件大小是唯一决定您的原因的因素,那么它就有缺陷。JavaScript 应该在页面加载后加载,因此在任何一种情况下都不会妨碍您的页面加载时间。
这是性能测试,包括 jQuery 1.7.2、Zepto 1.0rc1 和 jQMobi 1.03。