在DART中使用Appengine Channel API

时间:2012-09-10 11:58:45

标签: google-app-engine dart channel-api

是否可以将Google Appengine Channel API与DART语言结合使用?如果你能指出一些例子和陷阱(如果有的话),那就太棒了。

3 个答案:

答案 0 :(得分:5)

我推荐的解决方案是使用JS中的Channel API打开套接字并通过postMessage或自定义事件转发所有消息,并在Dart中接收它们。

我不确定是否有任何通用解决方案是开源的,但它应该是相当简单的,并且不需要通用的JS-interop来工作。

编辑:澄清

编辑2:

仅供参考:我刚刚发布了一个图书馆来做这件事。我希望它适合你!

http://code.google.com/p/gae-channel-api-dart/

答案 1 :(得分:3)

来自Dart团队的人将客户端库移植到Dart:http://code.google.com/p/gae-channel-api-dart/

答案 2 :(得分:3)

Channel API的JS代码是专有的,没有“来源”(好吧,但是好运reverse-engineering that)。谷歌是故意这样做的,因此他们可以更改渠道基础协议而无需凌乱的升级/弃用过程。

因此,如果您遵循@ Shannon的建议,重写的代码可能会在将来某个时候停止工作,您将需要重复对Channels JS代码进行逆向工程的过程。

更好的解决方案是从Dart调用Channels API JS代码,但目前Darts support for calling JS is rudimentary,但似乎它们是already started working on improving it