2012-11-09 70 views
5

我只是在JQM中發佈我的第一個應用程序。基本上,帶有列表視圖的地理動態頁面。在設計方面沒有什麼特別之處。所以我非常喜歡JQM的基本外觀&。jquery mobile alternatives(以及瓶頸是什麼?)

我還沒有用手機運行它。我在桌面上測試了它作爲firefox上的web應用程序,它非常好,工作也很順利。我已經在iPhone 3GS上測試了Safari瀏覽器上的webapp並且完全沒用:屏幕閃爍,這讓我想起了33.6K調制解調器上的Mosaic。

我在stackoverflow上看到有很多改進JQM的方法,比如不使用轉換。但是有什麼意義呢?

什麼是瓶頸?它是JQuery本身和它的處理IE?對不起,我不能等待JQuery 2.0版本。

我見過有人推薦使用zepto.js作爲替代方案。但zepto.js不支持JQM css。有沒有簡單的解決方案來使用zepto,而不必重做JQM提供的基本設計?

我還是不想去本地,因爲我想讓我的應用在IOS和Android上運行,而無需學習Obj-C並返回到Java。

關於這個問題已經有很多討論,但我見過的最新一個是在六月。

是否有一些新的替代品?如果Jquery是瓶頸,是否有可能獲得一個沒有IOS/Android目標的東西?

謝謝。

回答

5

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提供一個事件綁定-only模式,這是我正在做的時候需要。

另一個想法是將小部件庫存儲爲可配置的增強標記。所以你會有一個listview庫,它以增強的形式存儲了作爲模板的listitems的所有變體。在循環列表時,您只需從lib中選擇列表項,添加動態數據即可完成。

兩者都需要大量的擺弄,但很容易設置一些窗口小部件(按鈕,控制組),並且已經節省了大量的渲染時間。

希望這是一個很好的指針,讓你走。

+0

謝謝。這確實是一個很好的指針。 –

+0

我不知道我是否也可以替換一些.on('click'onclick()等價物,但我也會考慮這一點。我不確定調用$ .mobile時屏幕閃爍會有什麼影響.changePage()但是你的輸入讓我想繼續探索JQM,我會在這裏報告任何改進 –

+1

在jqm 1.1中引入了「白色閃存」之前,當你更改頁面時,JQM首先需要滾動回頂端然後在css:top = 0處插入新頁面,如果沒有滾動頂部,新的頁面會插入到當前的滾動位置,新的白色閃光只是爲了「覆蓋」JQM,而JQM正在滾動到 – frequent