GWT-RPC与HTTP呼叫 - 哪个更好?

Nir*_*tel 8 gwt asynchronous xmlhttprequest gwt-rpc

我正在评估使用GWT-RPC和HTTP Call进行的调用之间是否存在性能差异.

我的appln服务作为Java servlet托管,我目前正在使用HTTPProxy连接从它们获取数据.我希望将它们转换为GWT-RPC调用,如果这会带来性能提升.

我想知道每个人的利弊...

还有关于衡量异步调用性能的工具的任何建议......

[ 关于可以与GWT一起使用的各种服务器通信策略的好文章.]

Jas*_*all 13

当后端也用Java编写时,GWT-RPC通常是首选,因为它意味着不必在每端对对象进行编码和解码 - 您只需将常规Java对象传输到客户端,然后在那里使用它.

RequestBuilder当后端用其他语言编写时,通常使用JSON(using ),并要求服务器对响应对象进行JSON编码,并将客户端JSON解码为a JavaScriptObject,以便在GWT代码中使用.

如果我不得不猜测我会说GWT-RPC也导致较小的传输对象,因为GWT团队针对这种情况进行了优化,但两者都可以工作,而JSON仍然可以很小.在大多数情况下,这只是一个开发人员方便的问题.

对于测量请求时间的工具,您可以使用Chrome/Webkit的开发人员工具或Firefox的Firebug扩展,或者测量应用中的请求时间,并在延迟的收集和分析请求中将指标数据发送回服务器.


moo*_*eds 5

我写了问题中提到的那篇文章(感谢链接!).

一如既往,答案是'它取决于'.我已经使用了GWT-RPC和JSON.

如上所述,GWT-RPC允许通过线路运送java对象(有一些限制)的一些严重的生产力.可以共享一些逻辑,GWT负责编组/解组对象.

JSON允许其他非GWT客户端进行跨域访问和使用.您可以使用覆盖类型,但不能共享任何行为(如验证).与GWT-RPC(我上次查看)不同,JSON也可以轻松压缩和缓存.

由于我们不知道有效载荷是什么,因此很难给出性能建议.我建议(再次,就像上面有人一样)测试自己.