ams*_*ams 33 rest gwt spring spring-mvc gwt-rpc
我正在计划一个新的应用程序,并一直在试验GWT作为可能的前端.我面临的设计问题是这个.
我应该使用选项A:GWT-RPC并快速构建应用程序
选项B:使用Spring MVC 3.0和所有优秀的@Controller,@ Service,@ Repository注释构建REST后端,并使用GWT覆盖功能和GWT请求构建器构建客户端库以与后端通信?
我对这种设计的所有优点和缺点以及人们的经验感兴趣?
Chr*_*her 28
问自己一个问题:"我是否需要重用非GWT前端的服务器端接口?"
如果答案是"否,我将只有一个GWT客户端":您可以使用GWT-RPC,并利用您可以在服务器和客户端使用Java对象这一事实.这也可以使通信更有效,至少在使用时<inherits name="com.google.gwt.user.RemoteServiceObfuscateTypeNames" />,将类型名称缩短为小数值.您还可以获得更好的错误处理(使用例外),类型安全等优势.
如果答案是"是的,我将使我的服务可以访问多种前端":您可以使用REST与JSON(或XML),非GWT客户端也可以理解.除了切换客户端之外,这还可以让您在将来更轻松地切换到不同的服务器实现(可能是非Java).缺点是,您可能必须在GWT客户端编写包装器(JavaScript重叠类型)或转换代码,以便从JSON对象构建漂亮的Java对象.部署新版本的服务时,您必须特别小心,这使我们回到缺乏类型安全性.
第三种选择当然是建立两者.如果公共REST接口应该与GWT-RPC接口不同,我会选择这个选项 - 可能只提供易于使用的服务的子集.
小智 8
我们在创建Spiffy UI框架时遇到了同样的问题.我们选择了REST,我永远不会回去.我甚至说GWT-RPC是一种GWT反模式.
即使您从未打算公开REST端点,REST也是一个好主意.创建REST API将使您的UI更快,您的API更好,整个应用程序更易于维护.
| 归档时间: |
|
| 查看次数: |
12397 次 |
| 最近记录: |