javascript - 移动端开发用jQuery还是zepto?
高洛峰
高洛峰 2017-04-10 17:58:54
[JavaScript讨论组]

移动端开发用jQuery还是zepto?
你肯定回答我是zepto.js,当然我也知道移动端开发使用zepto.js更好,体积更小.
但是:
我的项目是PC和移动端都有的,我PC端是原本打算用jQuery+Bootsrap,移动端还没开始考虑,今早突然看到了Amaze ui决定用他,因为Amaze UI使用了Zepto.js.这样我就可以只做一次开发,PC和移动端都可以适配~~
额跑题了,
可是有人问我说jQuery 也可以做移动端开发,除了体积比zepto大,但是压缩之后又差不太多,为什么非得用zepto呢,我不知道该如何有力的反驳他,
总的来说就是:
zepto做移动端比jQuery的优势具体在那里,体积就不用说了哈~~
感谢感谢,本人没用zepto开发过,jQuery也只是熟悉的程度,我一直使用的都是avalon,
所以如果问题比较小白,请念在我是初学者的份上,轻点~0~

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(11)
怪我咯

自己写原生的吧,可以很简洁,比任何库都高效多了,当然,“库”不等于“框架”,上面提到的司徒正美大牛的avalon.js是框架;
提供个原生的参考链接:http://youmightnotneedjquery.com/

当然,如果一定要在jquery和zepto之间选择的话,建议zepto,因为更轻量,前提是不支持远古浏览器,主要是根据html5的API来封装的,jquery各种兼容性很好,但代码相当冗余拖踏;

PHP中文网

我没有专业的知识体系结构。效能先不考虑, 我一般是这样搞得。
使用了seajs加载用Modernizr检测浏览器的能力

define(function(require, exports, module) {
    //IE6提取出来单独处理
    var IE6 = !-[1, ] && !window.XMLHttpRequest;
    var Modernizr = require('modernizr');
    var domframe = '';
    var url = window.location.href;
    if (!Modernizr.mediaqueries && !url.match(/browser=older/)) {
        //alert('您当前的浏览器版本太旧,请更新浏览器版本,点确定为您打开兼容版');
        if (url.match(/\?/)) {
            window.location.href = window.location.href + "&browser=older";
        } else {
            window.location.href = window.location.href + "?browser=older";
        }
    }
    if (Modernizr.mediaqueries && Modernizr.touchevents) { //支持触屏事件为手机浏览器
        //zepto
        domframe = 'zepto';
    } else if (Modernizr.mediaqueries) { //支持媒体查询为现代浏览器使用jquery2.x
        //jquery2.x;
        domframe = 'jquery2.x';
    } else {
        //jquery1.x;
        domframe = 'jquery1.x';
        
    }
    //require会先执行所以不能直接引入
    //var $ = require(domframe);
    require.async(domframe, function($){
        $(function(){
            //逻辑代码。
        });
    });
});

这个为什么要这样。 因为我所在的业务场景都是些小网站。不需要啥高级的功能,兼容各个浏览器是需要的。而且我曾经给本地政府内网做过一个网站深知兼容IE6是必要的所以也处理了IE6的问题。

阿神

熟悉avalon直接使用avalon就好了,avalon也有avalon.mobile.js。
关于zepto具体的讨论可以看知乎的这篇:
http://www.zhihu.com/question/20005466

ringa_lee

第一,看你PC端的需求了吧 如果PC端需要支持IE8版本 zepto和差不多大小的jquery2.0系列就不好用了 只能使用压缩后100kb的jquery

第二,你也可以直接无视第一条 直接使用浏览器中的hack来控制手机端和PC端分别使用 zepto和jquery
至于zepto和jquery的使用方法 他们可以说基本一样,会用jquery 一定就会用zepto的 只是jquery很多方法并没有在zepto中实现

PHP中文网

1,轻量下载快不代表执行速度快执行效率高。
2,jQuery有1.x版和2.x版。
3,哪个顺手就用哪个。

天蓬老师

jquery 2.0不用犹豫。

迷茫

都不用 上vuejs 或者avalonjs

PHP中文网

就说一点,zepto有触屏事件,而jquery没有

伊谢尔伦

用惯jquery还是用它吧,用zeptojs会碰到很多的问题,都需要自己去解决,网上的资料和实例太少

巴扎黑

zepto在配置不高的手机上,加载速度明显比jQuery快。jq加入后,页面有很长的空白阶段,用zepto则不会,但是手机配置高了之后,区别就不大了。所以如非必要,移动端最好不要引入这些重量级的框架

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号