欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

Zepto.js 适合用来开发移动设备浏览器上的 HTML5 应用吗?

程序员文章站 2022-04-19 12:50:26
...

回复内容:

大家别再赞了。这个回答写于一年多以前,已经过时了。有空我会回头更新一下这个答案,或者另写一篇文章来聊聊 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 jqmobi.com/ 它自己说比jquery快2倍, 比zepto快4倍.