它在GWT中称为2 UI一致的是什么?

时间:2010-03-06 03:11:29

标签: ajax gwt comet

我看到了Google I / O的视频,并发现了一个GWT UI在客户端之间非常一致的示例。您可以在客户端之间实时保存,添加,拖放。我目前还不了解它的基本原理(在GWT中,我认为它实现了Comet),那么有没有人可以给我一个术语或定义呢?所以我可以在Google上获取更多信息吗?

非常感谢

2 个答案:

答案 0 :(得分:4)

好的,我认为你所寻找的是名称Comet, Server Push, Reverse Ajax(仅举几例 - 它们都意味着相同,在研究这个问题时可能会有所帮助)。简而言之,它描述了当服务器启动与客户端的连接时的模型/情况(通常,它是相反的)。当然,由于这是客户端,它实际上并不是在监听连接,而是使用一些技巧使其显得如此 - 就像长轮询一样(试图尽可能长时间地保持与服务器的连接,等待服务器)将新数据发送到客户端。在最大连接时间之后,客户端立即重新连接,因此它会继续。这是一个非常酷的功能,如果使用得当可以真正改善用户体验。

至于这个概念的实现:

  • rocket-gwt拥有Remoting module
  • cometd是一位受欢迎且经验丰富的竞争对手;)
  • Ajax Push Engine是一个相对较新的补充 - 它们构建自己的服务器(很好地用C语言编写),可能会或可能不会提供比其他解决方案更好的性能,缺点是服务器端可能更难实现(通过SpiderMonkey在C或服务器端JavaScript中编写模块)。 注意: APE 服务器只能在Linux,BSD或Mac OS X上运行。
  • NGiNX_HTTP_Push_Module - 我最喜欢的,因为他们的协议是最简单/最干净的,他们使用nginx,这意味着没有额外的服务器运行(并且不需要Java服务器 - 对于像我这样不使用Java的人来说很有用服务器端)。协议非常简单,纯粹的GWT实现应该易于编写(事实上,这就是我正在做的事情)。

根据您的服务器端,您有很多选择 - cometd是一个可靠的解决方案,但他们使用的Bayeux协议有点噩梦,TBH。我几个月前尝试过APE(Ajax Push Engine),但当时他们还没有支持SpiderMonkey / JavaScript,只有客户端的Mootools,所以GWT的体验并不是那么好。现在看一下这个项目,它已经变得更加成熟,而且已经做了很多(他们承诺的事情))。我最喜欢NGiNX_HTTP_Push_Module,因为它似乎是最轻的一套 - 协议和它使用的服务器(nginx以快速且能够处理许多连接而闻名 - 这在使用Comet时非常重要,因为你会有很多客户端一直“挂”在连接上,等待来自服务器的数据。)

Phew,对不起文字墙,希望它会有所帮助(希望这就是你要找的东西:D)。

答案 1 :(得分:2)

您是在谈论两个或更多人可以在不同的计算机上一起工作,所以他们都在对同一个文档进行更改?这通常被称为“协作软件”。 “合作”意味着一起工作。

您可能需要查看google Wave,这样可以简化此类软件的开发。