有两个类似的项目:
Zepto是用于现代浏览器的极简JavaScript库,具有与jQuery兼容的API。
jQuery 2.0 beta:这是您对未来的口味,它可以更快,更小而无需支持IE 6、7或8。这是特定于平台的HTML应用程序的绝佳选择。
这仅仅是关于性能还是它们采用不同的方法?
有两个类似的项目:
Zepto是用于现代浏览器的极简JavaScript库,具有与jQuery兼容的API。
jQuery 2.0 beta:这是您对未来的口味,它可以更快,更小而无需支持IE 6、7或8。这是特定于平台的HTML应用程序的绝佳选择。
这仅仅是关于性能还是它们采用不同的方法?
Answers:
Zepto.js和jQuery之间的主要区别在于它们各自的文件大小分别为Zepto.js的〜20kb(最小,不压缩),而不是jQuery的〜80kb,和Zepto.js的〜10kb(最小,压缩),而不是jQuery的〜30kb。此外,Zepto对浏览器的支持(例如IE<10
缺少或不能保证),其目标平台是:
将两者压缩并缩小后,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确实还添加了一些触摸事件处理程序来协助移动开发人员,但主要是您需要考虑的页面权重与平台支持。
这是一个有点老的问题,但是我想提高性能。据我所知,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来快速过渡到网络,看看他冰冷的洞穴深处,睿智而强大的雪人听到人们问:“ 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拥有更好的性能,从而为所有用户带来更好的体验。
**
最后,我们希望帮助人们更快地设计出出色的产品-这次,这意味着为世界上响应速度最快的前端框架本身带来提速。
根据我的阅读,人们似乎非常倾向于Zepto。其背后最常见的原因是文件大小,但是jQuery 2在加载后实际上比Zepto更快。另外,由于大多数人都是围绕jQuery开发的,因此您不会找到对Zepto的太多支持。我不建议您不使用Zepto,但是您应该研究为什么要使用Zepto,以及如果您要使用其他JavaScript库,则需要使用它的支持/冲突。
我会说这取决于您的项目。对于个人使用或有限使用,Zepto可能是更好的选择。但是,jQuery受到其他库的更多支持,如果仅由文件大小决定您的原因,那么它就有缺陷了。应在页面加载后加载JavaScript,因此无论哪种情况都不会影响页面加载时间。
这是性能测试,包括jQuery 1.7.2,Zepto 1.0rc1和jQMobi 1.03。