2013-02-12 28 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