2

前提:具有 Java 背景的完整 Sencha touch/Js noob -(5 天)

是否可以通过 Sencha Touch 使用 HTML5 网络工作者?我的场景是,我有一个使用 Sencha Touch 2 制作的应用程序,并与电话间隙打包在一起,在其中一个场景中,单击按钮时,控制器会进行 API 调用,这会使 UI 暂时处于非活动状态 - 理想情况下喜欢将其移至辅助线程并保持 UI 尽可能响应,但由于 JS 是单线程的,我想利用 HTML5 webworkers 进行 Sencha touch 。我找到了这个插件,但我可以将它与 Sencha Touch 2 一起使用吗?如果不是,我还有其他选择。请注意,这是针对具有 Sencha touch 的移动/平板电脑开发人员,而不是针对台式机的 extJS。

4

1 回答 1

5

我从您的问题中了解到,您想使用 webworkers 来呈现 UI,对吗?我认为这是不可能的,因为网络工作者的范围非常有限。以下是网络工作者可以访问的内容列表:

  • 导航器对象
  • 位置对象(只读)
  • XMLHttpRequest
  • setTimeout()/clearTimeout() 和 setInterval()/clearInterval()
  • 应用程序缓存
  • 使用 importScripts() 方法导入外部脚本
  • 产生其他网络工作者

这是网络工作者无法访问的内容列表:

  • DOM(它不是线程安全的)
  • 窗口对象
  • 文档对象
  • 父对象

遵循网络工作者用例列表:

  • 预取和/或缓存数据以供以后使用
  • 代码语法高亮或其他实时文本格式
  • 拼写检查程序
  • 分析视频或音频数据
  • 后台 I/O 或 Web 服务轮询
  • 处理大型数组或庞大的 JSON 响应
  • 图像过滤
  • 更新本地 Web 数据库的多行

有关网络工作者及其环境的更多信息:http: //www.html5rocks.com/en/tutorials/workers/basics/

谈论我的扩展:我认为 Sencha 不太适合,因为它使用 Ext 结构和类。

最后,我不知道任何适用于网络工作者的 Sencha UX。

更新 (2013/03/20)

ExtJS-WebWorker现在也适用于 Sencha Touch!

于 2013-02-12T09:55:59.830 回答