【问题标题】:jquery mobile alternatives (and what is the bottleneck ?)jquery 移动替代品(瓶颈是什么?)
【发布时间】:2012-10-29 13:49:06
【问题描述】:

我刚刚在 JQM 中发布我的第一个应用程序。基本上,带有列表视图的地理动态页面。在设计方面没有什么花哨的。所以我真的很喜欢 JQM 的基本外观和感觉。

我还没有用 phonegap 运行它。我在我的桌面上将它作为一个 web 应用程序在 Firefox 上进行测试,它非常好并且运行顺利。我已经在我的 iphone 3GS 上将它作为 safari 上的 web 应用程序进行了测试,它完全没用:屏幕闪烁,让我想起 33.6K 调制解调器上的 Mosaic 的过渡。

我在 stackoverflow 上看到有很多改进 JQM 的调整,例如不使用转换。但有什么意义呢?

什么是瓶颈?是 JQuery 本身及其对 IE 的处理吗?抱歉,我等不及 JQuery 2.0 版了。

我看到有些人建议使用 zepto.js 作为替代方案。但是 zepto.js 不支持 JQM css。是否有一个简单的解决方案来使用 zepto 而不必重做 JQM 提供的基本设计?

我仍然不想原生,因为我想让我的应用程序在 IOS 和 Android 上运行,而不必学习 Obj-C 并回到 Java。

对此进行了多次讨论,但我看到的最新讨论是在 6 月。

是否有一些新的选择?如果 Jquery 是瓶颈,是否有可能获得一个没有任何不针对 IOS/Android 的内容?

谢谢。

【问题讨论】:

    标签: cordova jquery-mobile zepto


    【解决方案1】:

    JQM 的理念不仅是针对 iOS/Android,还针对所有平台,因此如果您只使用 iOS,则必须做出不需要的妥协 - JQM 1.1 之前的过渡(要好得多)是我相信是因为 Android 而下降,因为他们失败得太厉害了。

    如果您正在寻找瓶颈,我认为在客户端渲染元素需要时间。假设您有一个列表项:

    <li><a href="some">link</a></li>
    

    哪个 JQM 将更改为

    <li data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="div" data-icon="arrow-r" data-iconpos="right" data-theme="c" class="ui-btn ui-btn-icon-right ui-li-has-arrow ui-li ui-btn-up-c">
        <div class="ui-btn-inner ui-li">
            <div class="ui-btn-text">
                <a href="index.html" class="ui-link-inherit">Acura</a>
            </div>
            <span class="ui-icon ui-icon-arrow-r ui-icon-shadow">&nbsp;</span>
        </div>
    </li>
    

    由于这是在客户端上为每个列表项完成的,因此渲染内容需要时间,而在桌面上完美运行的元素突然需要 2-3 秒才能在糟糕的 Android 上渲染。

    第一个解决方法是发送 enhanced HTML 并尽量不必调用 trigger("create") 这样做可能会松散元素绑定,或者您将不得不更改 JQM 以提供仅事件绑定模式,我'我在需要的时候做。

    另一个想法是将小部件库存储为可配置的增强标记。因此,您将拥有一个 listview 库,其中包含以增强形式存储为模板的列表项的所有变体。循环遍历列表时,您只需从库中选择列表项,添加动态数据即可完成。

    两者都需要大量的摆弄,但设置一些小部件(按钮、控件组)很容易,并且已经节省了大量的渲染时间。

    希望这是一个很好的指导。

    【讨论】:

    • 我不知道我是否也可以用他们的 onclick() 等效项替换一些 .on('click' 但我也会研究一下。我不确定这对调用 $.mobile.changePage() 时屏幕闪烁,但您的输入让我想继续探索 JQM。我会在这里报告任何改进
    • jqm 1.1 中引入了“白色闪光”。之前,当您更改页面时,JQM 首先需要滚动回当前页面的顶部,然后在 css:top=0 处插入新页面。如果没有滚动顶部,新页面将插入到您当前的滚动位置。当 JQM 滚动到白色窗帘后面的顶部时,新的白色闪光灯只是为了“覆盖”JQM。
    • 我不知道如何将答案标记为已选中...页面上没有任何东西可以远程执行类似的操作。对不起。
    • 见这里:i.stack.imgur.com/uqJeW.png。只需单击复选标记,它就会变为绿色 = 接受答案。如果您发现答案非常有用/非常糟糕,您也可以投票/否决(arrwos top/bottom)。
    • 我不能投票(我需要声望!!!啊啊啊啊)但我点击了绿色箭头。谢谢。
    猜你喜欢
    • 2018-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-19
    • 1970-01-01
    • 2015-02-06
    • 1970-01-01
    • 2020-03-17
    相关资源
    最近更新 更多