Zepto和jQuery 2有什么区别?

有两个类似的项目:

Zepto.js

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

jQuery 2.0

jQuery 2.0 beta:这是您对未来的品味,jQuery可以更快,更小,而不需要支持IE 6,7或8,这对于平台特定的HTML应用程序来说是一个很好的select。

这只是performance还是他们遵循不同的方法?

Zepto.js和jQuery的主要区别在于它们各自的文件大小为Zepto.js的〜20kb(缩小,不是gzipped)而不是jQuery的〜80kb,而Zepto.js的〜10kb(缩小,Gzipped)而不是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+浏览器
  • Amazon Silk 1.0+
  • Opera 10+
  • Internet Explorer 10+

jquery 2是〜30kb,zepto是〜10kb当两个被压缩和缩小。 非gzipped但缩小,jquery 2是〜80kb,zepto是〜30kb。

使用分析程序检查您的网站的观众。 如果你的用户的一大块使用IE9,你需要jQuery和zepto不会飞。 如果超过百分之几的人使用IE8和更低,你不能面对离开他们滞留没有你的网站,你将需要使用jQuery 1.如果你的目标是最后一个,我很抱歉 – 很多新的shiny玩具将不会为你工作。

如果您正在为android / ios / phonegap等构buildhtml5应用程序,那么您主要针对的是webkit,所以zepto确实可以为您节省大量的资源。 zepto存在的主要洞察和原因是,当仅在webkit平台上运行时,很多jquery的跨平台解决方法是不必要的。

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

这是一个有点老的问题,但我想补充performance。 据我所知,Zeptoperformance比jQuery好。

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

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

同样看这个perf,我可以看到我可以像jQuery一样经常使用document.getElementsByClassNAme 8326%,所以如果可能的话,我们应该把所有这些都排除在外:-)

Zepto缺乏jQuery特有的延迟/承诺API。 有一个插件,简单推迟,可以补救这个: https : //github.com/sudhirj/simply-deferred 。

据我所读,人们似乎倾向于Zepto。 最常见的推理是文件大小,但jQuery 2实际上比Zepto在加载后更快。 而且,由于大多数人都围绕jQuery进行开发,所以Zepto不会得到太多的支持。 我并不是build议你不要使用Zepto,但是你应该考虑一下你为什么要使用它,如果你使用的其他JavaScript库支持/冲突。

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

这里是性能testing,包括jQuery 1.7.2,Zepto 1.0rc1和jQMobi 1.03。

我觉得从来没有用过快速的networking过渡到web看看他的冰冷的洞穴深处,聪明和强大的雪人听到人们问:“Zepto去了哪里? 当Foundation 4被构思出来的时候,我们切换到了Zepto(带有一个jQuery选项),因为它的文件体积更小,加载速度更快。

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

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

为了解决这个问题,答案很明显,就像spring喜马拉雅的天空一样:Foundation 5使用了jQuery 2.除了更好的速度和行业接受度外,jQuery 2还从更好的文档和支持中受益。 jQuery是API兼容的。

**

但是我们认为Zepto会比jQuery更快。 我们不想做两次相同的假设,所以我们testing了Zepto和jQuery 2.结果:jQuery 2每秒有更多的操作。 这使得Foundation 5的性能更好,这意味着所有用户都能获得更好的体验。

**

最后,我们希望帮助人们更快地devise优秀的产品 – 而这一次,这意味着要给世界上最响应的前端框架加速。