gpt4 book ai didi

ajax - 它在 GWT 中调用了什么来使 2 个 UI 保持一致?

转载 作者:行者123 更新时间:2023-12-02 08:59:29 27 4
gpt4 key购买 nike

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

非常感谢

最佳答案

好的,我认为您正在寻找的内容以 Comet, Server Push, Reverse Ajax 的名称为人所知。 (仅举几例 - 它们的含义都相同,在对此主题进行研究时可能会有所帮助)。简而言之,它描述了服务器发起与客户端的连接时的模型/情况(通常,反之亦然)。当然,由于这是客户端,它实际上并不是在监听连接,而是使用一些技巧使其看起来如此 - 例如长轮询(尝试尽可能长时间地保持与服务器的连接打开,等待服务器有新的数据发送给客户端。在最大连接时间之后,客户端立即重新连接,如此)。这是一项非常酷的功能,如果使用得当,可以真正改善用户体验。

至于这个概念的实现:

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

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

唷,抱歉,文字墙很长,希望它会有所帮助(希望这就是您正在寻找的内容:D)。

关于ajax - 它在 GWT 中调用了什么来使 2 个 UI 保持一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2391203/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com