2013-02-12 47 views
2

前提:一個完整​​的煎茶觸摸/ JS小白與Java後臺 - (5天)使用網絡工作者與煎茶觸摸2

是否可以使用HTML5網頁工人煎茶觸摸?我的場景是,我有一個應用由Sencha Touch 2製作,並與電話差距打包,在其中一個場景中,單擊按鈕時,控制器發出一個API調用,使用戶界面處於非活動狀態 - 理想情況下喜歡將其轉移到輔助線程並儘可能保持UI的響應,但由於JS是單線程的,我希望利用HTML5 webworkers進行Sencha觸摸。我發現this插件,但我可以使用Sencha Touch 2嗎?如果不是,我有什麼其他選擇。請注意,這是針對移動設備/平板電腦的開發板,並且不支持桌面設備。

回答

5

我從你的問題中瞭解到,你想用webworkers渲染UI,對吧? 我認爲這是不可能的,因爲網絡工作者的範圍非常有限。下面是事情的清單webworkers可以訪問:

  • navigator對象
  • location對象(只讀)
  • 的XMLHttpRequest
  • 的setTimeout()/ clearTimeout( )和setInterval()/ clearInterval()
  • 應用程序高速緩存
  • 導入使用importScripts外部腳本()方法
  • 產卵場等網絡工作者

這是事物的列表webworkers不能訪問:

  • DOM(它不是線程安全的)
  • 窗口對象
  • 文檔對象
  • 父對象

如下webworkers使用案例的列表:

  • 預取和/或高速緩存數據供以後使用
  • 代碼語法突出顯示或其他實時文本格式
  • 拼寫檢查
  • 判斷視頻或音頻數據
  • 背景I/O或web服務的輪詢
  • 處理大陣列或humungous JSON迴應
  • 圖片過濾
  • 更新本地網絡數據庫

的許多行有關webworkers和他們的環境更多的信息:http://www.html5rocks.com/en/tutorials/workers/basics/

談論我的分機:我不認爲它遠遠的,因爲煎茶它使用Ext結構和類。

最後,我不知道任何Web工作者的Sencha UX。

更新(2013年3月20日)

ExtJS-WebWorker現在爲煎茶觸摸呢!

+0

嗯,我有 - 我有一個列表,使得一個API調用,所以當我點擊加載列表的UI線程使這個調用和UI掛起的按鈕。有沒有一種方法可以加載列表項,因爲它們來自使用web worker的後臺工作線程。在sencha觸摸。我也假設extJs和Sencha touch手拉手,我可以使用這些網絡工作者類 – Slartibartfast 2013-02-12 10:45:02

+0

@Wilk。您的網絡工作人員是否在單獨的線程中運行?我從演示中使用webworker0並使用webworker0.send('compute')調用其計算並在compute()函數中下載。但用戶仍然掛起? http://pastebin.com/xtVdfRKR – Diffy 2014-06-25 09:54:57