performance - RestyGWT 与 RequestFactory

标签 performance json gwt rpc requestfactory

我正在考虑将基于 GWT-RPC 的当前服务层迁移到其他东西。它大约有 10 个服务接口(interface),每个接口(interface)有 5 个方法,涉及大约 20 个不同的域实体,因此您对更改整个事物所需的工作量有所了解,显然我希望将其最小化。我还使用 Gilead 和基于 Guice 的集中式 Servlet 来处理所有 RPC 请求。

改变的主要原因是:

  • TypeSerializer 消耗了应用程序代码的大部分。
  • 客户端的序列化/反序列化在开发模式下特别慢,这似乎是 GWT-RPC 的普遍事实。
  • 显然,我想尽量减少在线有效负载,但这不是硬性要求。

  • 我正在考虑的选项是:
  • RequestFactory,被提升为更快的野兽。但是我担心将域对象的客户端代码中的所有引用替换为它们的代理对应物会做很多工作,而且我也懒得实际构建所有代理。
  • 使用 RestyGWT 的完整 JSON/REST 方法,看起来它可以让我仍然使用域对象,但我担心它最终会导致反序列化更慢?我不是基于任何事实,但找不到任何基准。这只是一个印象。

  • 我真的很想得到建议。

    谢谢!

    最佳答案

    虽然我们目前正在使用 RequestFactory,但我推荐使用 REST。
    以下是 3 个主要原因:

  • 客户端和服务器实现不必依赖(如果您计划为非 android 设备开发 native 应用程序,而不是忘记 requestfactory)。
  • requestfactory 中的新 api 更改会破坏旧客户端代码(这会对生产造成破坏性后果)
  • REST 生态系统和社区更大,更容易解决代码中的问题,并允许其他应用程序在 future 与您的应用程序进行通信。
  • 关于performance - RestyGWT 与 RequestFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8270868/

    相关文章:

    java - 找不到 :/<url-pattern>/的文件

    c++ - 为什么这个 `__xstat64` 的性能成本如此之高?

    javascript - setTimeout 运行其回调代码比没有它慢得多

    javascript - 如何在 Chrome 的性能分析器中调试匿名 JavaScript 函数?

    c# - ASP.NET MVC Ajax Actions 结果封装

    python - GAE 数据存储日期不是 JSON 可序列化的

    java - GWT 谷歌地图 : setCenter: not a LatLng or LatLngLiteral: in property lat: not a number

    java - ArrayList 或单个 String 之间的操作性能

    json - Angular 7 HTTP GET 发送 JSON 对象作为参数

    java - 谷歌工具包中的 Xpath 与 selenium webdriver