Zepto.js适合用来开发移动设备浏览器上的HTML5应用吗?
时间:2021-07-01 10:21:17
帮助过:40人阅读
回复内容:
大家别再赞了。这个回答写于一年多以前,已经过时了。有空我会回头更新一下这个答案,或者另写一篇文章来聊聊 Zepto。
---------------------------
我在目前的项目中使用 Zepto.js,已经投入生产。
个人感觉 Zepto 的一些问题是:
- 更新较慢。让人感觉这个项目不够活跃;长期处在 beta 状态,无法给用户足够信心。不过不久前终于更新到 1.0rc1 了,算是有了点动作。
- 不完全兼容 jQuery。这大概是最让用户犹豫不决的。一方面 Zepto 并没有实现所有 jQuery 的 API;另一方面已经实现的 API 与 jQuery 并非完全一致,往往只是实现了较基本的功能。因此,目前还无法做到平滑、无疼的移植。
- 打包。从 1.0 开始,发行文件不再包含所有模块,如果需要完整功能则需要自行打包。感觉不够便利。
Zepto 也迎来了它的直接竞争者 jqMobi,这里顺道聊一下:
相比之下 jqMobi 的性能似乎更快,但 Zepto 适用的平台更多(移动浏览器 + 现代桌面浏览器)。如果是做单纯的 Mobile Web App(尤其是做 Hybrid App 时),jqMobi 似乎占优;如果是做移动版网站,我会优先考虑 Zepto。在对 jQuery 的兼容方面,两者差别不大。
竞争对生态的发展是良性的。这两者的关系其实挺微妙的,jqMobi 的触摸事件模型(tap、swipe 等)是直接采用了 Zepto 的实现。
Zepto 和 jqMobi 都是被动之选,我实际上是希望 jQuery 自己能出一个官方的 jQuery Lite 之类。jQuery Mobile 这种东西实在太不适合移动版网站了。
在桌面浏览器测试性能的话,和 jQuery 还有一大截差距,看源代码,某些实现还很 ugly,比如删除 DOM 节点不删除监听器等。
不过 Zepto.js 的目标平台是移动设备浏览器,所以很多跨移动浏览器的支持。
就我目前的使用情况而言,zepto还是ok的。含盖的浏览器包括safari和android2.2的webkit。wp7的支持可能会存在问题,这个是需要面对的。
一直特别纠结zepto性能这个问题,有的人说zepto体积小,性能好,然后又看国外的一个帖子,说除了体积小,性能比jquery差很多。各个人的说法不一,不清楚到底选择哪个好。索性自己来测试一下,经过在pc浏览器和手机浏览器上测试,zepto的效率确实很低,除了体积小,没有任何优势,jquery的性能差不多是zepto的2.5倍。一定要消除这个观念,不是体积很小,效率就很高。
受邀回答。Zepto.js我其实没有用过。但是如果问是否适合移动浏览器开发,那按说应该是适合的。因为其设计目标其实就是针对移动浏览器,目标是5k到10k达到和jQuery兼容的API。当然,目前(2012年1月)它仍然处于beta版,看其changelog仍然处于大量特性有待实现和完善阶段,所以如果现在采用的话,可能会碰到一些坑。
如果考虑跨平台推荐用zepto.js,否则个人更推荐在移动端用原生的JavaScript的接口
适合,Zepto 刚刚 1.0 release 了
当然,用了 Zepto 意味着你要放弃 WP 平台
Zepto和jQuery我都用。IE下强制用jQuery,其他桌面浏览器和Mobile浏览器用Zepto。毕竟Zepto要小很多。
做的时候我已Zepto为主,调好非IE的和Mobile的,然后再在IE下调jQuery(Zepto对IE支持得很差),解决不一致的工作量大约在1~2天吧。
这个方法仅适合个人对网站的精雕细刻,团队开发不如都用jQuery,多费个几十K的下载量和团队处理问题的成本相比就太低了。
为什么我们放弃了 Zepto
zepto.js 在某些性能上比jquery慢. 另外我有些东西用zepto换掉jquery后就不工作了, 只能继续用jquery
.
另外你可以看看jqmobi
http://jqmobi.com/ 它自己说比jquery快2倍, 比zepto快4倍.