问题标签 [gwt-rpc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2482 浏览

gwt - 优化移动浏览器非常缓慢的 GWT 应用程序性能的技巧

他的,

也许你们中的一些人可以分享他们在 GWT 上的移动开发经验吗?

我们正在开发一个非常互动的网站,其中包含许多可点击的面板/按钮,并且遇到了巨大的浏览器迟缓问题。这是一个虚拟的禁止,导航到下一页有时需要一分钟以上。

这可能是架构的弱点:每个元素都是一个可能包含子视图的视图。每个视图都由来自服务器的 DTO 支持。也许这么深的对象图太多了,但我们正试图专注于优化视图渲染的效率,因为将所有内容拆分为组件的想法对我们来说非常重要:) 以下是我关心的一些问题,但可能有更多的。

  • 正如 Google I/O Conference 2010 的视频所暗示的那样,我尝试使用 UiBinder 构建小部件。但这并没有带来太多的速度提升。我们使用了很多面板——HTMLTable、HTMLPanel、VerticalPanel——因为承载其他视图的每个视图都应该以某种方式附加它们。可以用新的 CellList 替换它们有什么好处,还是一个简单的 Horizo​​ntalPanel 已经足够轻量级了?

  • 页面上丢失了可点击的小部件。虽然一般建议是减少小部件,但我们确实需要它们来处理 onMouseDown 事件。什么是 CPU 密集度最低的可点击组件 - 带有 MouseDown 处理程序、按钮等的 VerticalPanel?

  • 一旦用户点击一个按钮,就会发出一个 PRC 请求。我注意到,如果 PRC 调用停止一段时间,则单击按钮的样式呈现比单击按钮后立即进行 RPC 调用快得多。是否有一种模式可以指示如何触发不会干扰样式渲染的 RPC 调用。

  • 分析报告(Firebug 和 Speedtracer)表明 setInnerHTML() 和 add() 调用占了大部分负载。add() 应该在视图附加到它们的父级时调用,我不知道为什么 setInnerHTML 需要这么长时间(根据视频演示,它们应该非常快)。是否有一种合理的方法来优化 add() 调用?我真的想不出办法来做到这一点。

我感谢每一个建议。谢谢。

0 投票
1 回答
315 浏览

performance - Wave的客户端GWT架构是什么

我想知道你们中的一些人是否知道 Wave 团队构建其 GWT Web 客户端所采用的架构方法?由于我正在尝试优化一款专为手机设计的 GWT 应用程序的性能,因此很难不佩服它的快速凭据 :)

  • Wave 是否不使用 GWT-RPC 从服务器获取定期更新?Firefox 跟踪一些通过网络传输的 JSON 通信,但没有像 RPC 那样的东西。

  • 例如,当发送一个新的小波时,它们如何进行。每个wave DTO都有一个视图对象,还是他们使用其他模式?

  • 在响应(例如,新 Wave 到达)后如何更新 GUI。是否会重新渲染带有小波的整个区域或使用一些智能技术来确保仅触摸特定元素?

谢谢

0 投票
2 回答
1198 浏览

google-app-engine - GWT:在哪里(如何)定义 POJO 以使 em 可用于客户端和服务器?(并在服务器端使用数据存储)

我试图让一个应用程序运行,它应该通过 RPC(Google DataStore 中的 JDO)与服务器交互。因此,我在服务器端定义了一个持久 POJO,以通过 PersistenceManager 将其放入数据存储区(如 gwt rpc tuts 所示)。一切正常。但我无法在客户端接收回调 POJO,因为 POJO 仅在服务器端定义。我怎么能意识到,客户知道那种对象?(对不起我的英语不好)拉斯

0 投票
1 回答
413 浏览

google-app-engine - App Engine 服务器日志中的 GWT RPC 方法名称

我们的项目在 GWT 和 Java App Engine 上运行,我们使用标准的 GWT RPC 机制。App Engine 为每个 RPC 调用添加日志跟踪,但它只记录 servlet URL 而不是被调用的方法。我们想将方法名称添加到日志 URL。

我们已经尝试扩展 RpcRequestBuilder 类,覆盖 doCreate 并将方法名称添加到 URL,但问题是此时方法名称是未知的 - 它稍后在 doSetRequestData 中已知(作为数据字符串的一部分)。

谢谢伊齐克

0 投票
1 回答
1187 浏览

android - 为 Web 和 Android 服务的 AppEngine GWT-RPC 服务

伙计们,

我有支持 GWT Web 客户端的 GWT-RPC 服务(在 Appengine 上)。一切都很好。

现在,当我为此开发一个 Android 客户端时,我是否需要一个精简的 Servlet 来为这个客户端提供服务?意思是,现在我需要使用 Android 打包的 HttpClient 将 XML 发送到一个新的 Servlet(它可能在 AppEngine 中重用 GWT-RPC 服务),而不是来回发送序列化 Java 对象(如在 GWT 中)。

我在这里步入正轨吗?Android 是否允许直接使用 GWT-RPC 服务后端?

我试图从代码的角度简洁..

0 投票
1 回答
705 浏览

java - 每次调用 GWT-RPC 服务时,HttpSession 都会发生变化

我有一个 GWT-RPC 服务,它有两种方法,测试和登录。

我按此顺序调用方法,每次打印出会话信息:

登录()

测试()

从这里可以看出,两个调用都有不同的会话 ID。

在每个调用的 onSuccess 客户端,我打印出 JSESSIONID cookie 的值:

如果我点击刷新,我会得到以下信息(这是我第一次预期的):

登录()

测试()

谁能解释为什么在刷新之前,每个调用都会获得一个新的会话 ID?

0 投票
1 回答
316 浏览

gwt - GWT 下载什么以及在哪里下载?

我们正在使用 GWT-RPC 运行 GWT。GWT-RPC 是真正的 JSON,并且在客户端浏览器中得到了 Eval()'ed。

由于浏览器没有缓存 Eval() 的内容,所以我想我每次都会重新下载整个应用程序。

是否有库文件等被放入浏览器缓存?GWT 是否找到了一些棘手的方法来验证 Eval() 是什么?

谢谢。肖恩。

0 投票
8 回答
26452 浏览

gwt - 什么时候应该使用 RequestFactory 与 GWT-RPC?

我想弄清楚是否应该将我的 gwt-rpc 调用迁移到新的 GWT2.1 RequestFactory cals。

谷歌文档含糊地提到 RequestFactory 是一种更好的“面向数据的服务”的客户端-服务器通信方法

我可以从文档中提取的是,有一个新的 Proxy 类可以简化通信(您不需要来回传递实际实体,而只是传递代理,因此它更轻且更易于管理)

这是重点还是我在大局中遗漏了其他东西?

0 投票
3 回答
633 浏览

gwt - 如何知道一个对象对于 GWT 和 IE8 中的 RPC 是否“太大”?

我有一个在 Firefox 中运行良好的应用程序,但是当我在 IE8 中进行测试时,出现了一个奇怪的错误:'Stack overflow at line: 0'

在 GWT 讨论组建议它可能与从 RPC 调用返回的大型/复杂对象有关之后,我能够将问题缩小到我的一个 RPC 服务器调用,它确实返回了一个大型、复杂的对象。

如果错误确实是由于大型对象太大或太复杂,我怎么知道?“过大”的门槛在哪里?

GWT 讨论的进一步评论表明 Collections 对象可能是问题所在,但这是来自另一位 GWT 开发人员的经验。GWT 文档或团队是否在任何地方记录了这一点?

但即便如此,问题仍然存在——我怎么知道它什么时候“足够小”?

0 投票
4 回答
567 浏览

php - 服务器端编程:PHP vs GWT+RPC

我正在尝试开发一个网页,该网页需要在服务器端使用用户在 textarea 中写入的文本创建文件。

您建议我为此目的使用哪种技术?PHP 还是 GWT+RCP?我想使用更容易开发、更安全、更快的一种。

谢谢