首页 > 移动端开发用jQuery还是zepto?

移动端开发用jQuery还是zepto?

移动端开发用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~


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


jquery 2.0不用犹豫。


都不用 上vuejs 或者avalonjs


zepto的坑有点多,有些方法需要自己去实现,比如说prevAll,nextUntil 这些方法,还有我用的那个版本居然还不支持animate 也不支持stop,~ so,省事的话用jquery吧, 现在的手机性能都可以,看不出什么差异区别的,当然,如果你用的框架或者库很多的话,自行考虑吧。


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


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


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


我没有专业的知识体系结构。效能先不考虑, 我一般是这样搞得。
使用了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的问题。


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

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


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


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

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

【热门文章】
【热门文章】