是否可以将Google Appengine Channel API与DART语言结合使用?如果你能指出一些例子和陷阱(如果有的话),那就太棒了。
答案 0 :(得分:5)
我推荐的解决方案是使用JS中的Channel API打开套接字并通过postMessage或自定义事件转发所有消息,并在Dart中接收它们。
我不确定是否有任何通用解决方案是开源的,但它应该是相当简单的,并且不需要通用的JS-interop来工作。
编辑:澄清
编辑2:
仅供参考:我刚刚发布了一个图书馆来做这件事。我希望它适合你!
答案 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。