使用 GWT 模块加载 Web-Worker 线程的最简单方法是什么?
我不是指在 GWT 中获得对 Web-Worker 的支持(有相关库),而是如何生成 GWT 模块以加载到 Web-Worker 中?
我怀疑我需要一个特殊的链接器 - 有没有可用的地方?
使用 GWT 模块加载 Web-Worker 线程的最简单方法是什么?
我不是指在 GWT 中获得对 Web-Worker 的支持(有相关库),而是如何生成 GWT 模块以加载到 Web-Worker 中?
我怀疑我需要一个特殊的链接器 - 有没有可用的地方?
看看http://code.google.com/p/speedtracer/source/browse/trunk/src/client/ui/src/com/google/gwt/webworker/ 我没有深入研究,但似乎成为您正在寻找的“特殊链接器”(链接器随后用于 SpeedTracer 的“提示引擎”和“中断”模块)
有一个名为 gwt-ns 的库,其中包括 web worker。以下链接是使用它的示例。 http://extremelysatisfactorytotalitarianism.com/blog/?p=645
更新 gwt-ns 的作者发布了一条说明,他自 2010 年以来停止了开发,因此它与最近的 GWT(如 2.6.1 或更高版本)不兼容
注意(2014 年 2 月 4 日):gwt-ns 自 2010 年 6 月以来一直没有被触及,我的理解是 Web Worker 支持在任何最新版本的 GWT 中都不起作用。这在某种程度上是意料之中的,因为它必须深入到 GWT 编译器中才能工作,并且必须随着编译器设计的改变而做出改变。其他模块也可能已过时,因为这些功能的排列选择需要随着浏览器添加支持或将支持从前缀移动到完整进行调整。有些事情可能仍然会意外工作。随意使用代码,但请注意。我不再做任何 GWT 开发,所以如果你想让工作人员再次使用 gwt-ns 作为基础,你需要分叉代码并开始一个新项目(幸运的是 Apache 2.
你可以试试我在 GitHub 上发布的gwtwwlinker项目:https ://github.com/tomekziel/gwtwwlinker
它允许您将单独的模块编译为 web worker,专用链接器消除了通常$wnd
的$doc
依赖关系。
Manfred Tremmel 已从 Google Speedtest 应用程序中获取核心代码,并将其放入单独的存储库gwt-webworker中。我在SimpleWebWorker添加了一个非常简单的示例代码。此代码适用于最新的 2.8.1 版本的 GWT。