我想知道你们中的一些人是否了解Wave团队构建GWT Web客户端所采用的架构方法?由于我正在尝试优化为移动设备设计的一个GWT应用程序的性能,因此很难不欣赏它的快速凭据:)
Wave是否使用GWT-RPC从服务器获取定期更新? Firefox跟踪一些通过线路进行的JSON通信,但没有像RPC那样。
例如,当发送新的小波时,它们如何进行。每个wave DTO都有一个视图对象,还是使用其他一些模式?
如果在响应新的Wave后,GUI如何更新。整个区域是否会重新渲染小波或使用一些智能技术来确保只触及特定元素?
由于
答案 0 :(得分:3)
这可能是信息过载,但由于Google Wave是开源的,您实际上可以看看他们如何设置here。
例如,如果您查看WaveView.java,您可以看到他们正在使用Google IO 2009中this talk中提到的Ray Ryan等客户端事件总线。我似乎记得看到另一个视频他们谈到了Google Wave的这些方面:
此外,我非常确定他们使用Comet with JSONP来维持与服务器的持续通信,因此他们不会不断轮询服务器以获取新的更新,而是有一个动态生成的javascript文件正在加载从服务器递增,其中包含触发服务器已决定需要触发的任何事件的指令。