我还没有用phonegap运行它.我正在桌面上将它作为Firefox上的web应用程序进行测试,它非常好用并且运行顺畅.我已经在我的iphone 3GS上测试它作为Safari应用程序,它完全没用:屏幕闪烁,转换让我想起了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的东西?
谢谢.
JQM的想法不仅是针对iOS / Android而是针对所有平台,因此如果你只使用iOS,你必须制作你不需要的comprosmies – 之前的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"> </span> </div> </li>
由于这是在客户端上为每个列表项完成的,因此渲染需要时间,并且在桌面上工作非常流畅的元素突然需要2-3秒才能在糟糕的Android上渲染.
第一种解决方法是发送增强的HTML并尝试不必调用trigger(“create”)您可能会松动元素绑定,或者您必须更改JQM以提供仅限事件绑定的模式,我是在需要时做.
另一个想法是将小部件库存储为可配置的增强型标记.所以你有一个listview lib,它包含了以增强形式存储为模板的listitems的所有变体.循环遍历列表时,只需从lib中选择列表项,添加动态数据即可完成.
两者都需要大量的摆弄,但是很容易设置一些小部件(按钮,控制组)并且已经节省了大量的渲染时间.
希望这是一个很好的指针,让你去.