SmartGWT GWT 客户端服务器架构

2024-01-10

我们计划使用智能GWT,GWT和相关框架用于客户端丰富的接口,以及在服务器端返回JSON数据的Spring MVC。

作为调查是否符合我们要求的一部分,需要回答以下问题:

  1. 在不使用任何框架的情况下从头开始构建 GWT 应用程序需要付出大量努力才能遵循标准 MVP 模式。但这更灵活且可进行单元测试,尽管很耗时。 GWT 最佳实践建议使用 MVP 设计模式来构建更大的应用程序。

SmartGWT 有它自己的方法,您可以使用一个小部件,向其中引入一个数据源,然后就完成了。尚未确定以模块化(或 MVP)方式构建此类智能 GWT 组件的最佳实践。有什么建议

  1. 使用框架 GWT-platform 和 SmartGWT 可能是尝试此处提到的 MVP 架构的一种选择。有什么建议么?

  2. 智能 GWT 的验证/消息/异常显示和其他通用功能支持还有待研究。

  3. 客户端-服务器架构:服务器端拥有 Spring MVC + Spring core,客户端拥有 GWT + Smart GWT 可能是一个很好的开源技术堆栈,但考虑到 GWT 默认使用 RPC 进行客户端服务器交互,这些需求的使用以便得到更好的评价。 (特别是身份验证/会话处理/安全等)。有什么建议么?

Thanks


我从来没有使用过 SmartGWT 或任何其他丰富的库。我的观点可能有偏见,但我确实认为 Gwt 组件易于定制且轻量级。这是我从 SmartGwt 中从未感受到的东西,是任何其他类型的库的。

话虽这么说,以下是我对您关心的两个问题的回答:

使用框架 GWT-platform 和 SmartGWT 可能是尝试此处提到的 MVP 架构的一种选择。有什么建议么?

好吧,要在这方面保持 MVP,只需从演示者设置数据源即可。在您看来,SmartGWT 小部件应该是“被动”的,并等待来自演示者的配置。

优点:您不必对视图进行单元测试,因为 SmartGWT 小部件应该已经经过了良好的测试。您只需在实际调用视图的地方测试演示者即可配置该小部件并验证是否正确调用它。

客户端-服务器架构:服务器端使用 Spring MVC + Spring core,客户端使用 GWT + Smart GWT 可能是一个很好的开源技术堆栈,但考虑到 GWT 默认使用 RPC 进行客户端服务器交互,这些需求的使用以便得到更好的评价。 (特别是身份验证/会话处理/安全等)。有什么建议么?

RPC 是一个选项,而不是默认通信。还有两种其他类型的通信(如果您尝试 DeRPC 等实验性功能,甚至更多):RequestBuilder 和 RequestFactory。

RequestBuilder 可用于带有 JSON 响应的 HTTP GET。无法帮助您实现智能 GWT 方法。

这是一位使用Smart GWT的Gwt-Platform用户,阅读他的博客,应该会对您有所启发:http://uptick.com.au/blog http://uptick.com.au/blog

在撰写此答案时,博客已关闭,但应该很快就会恢复。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SmartGWT GWT 客户端服务器架构 的相关文章

随机推荐

  • Spark 流异常:java.util.NoSuchElementException:None.get

    我在写信SparkStreaming通过将数据转换为数据帧来将数据传输到 HDFS Code object KafkaSparkHdfs val sparkConf new SparkConf setMaster local setAppN
  • 在 OS X 10.10 下,在 PyCharm 中使用 VirtualBox 设置 Vagrant 时出错

    当设置远程解释器并选择 Vagrant 时 我在 PyCharm 中收到以下错误 Can t Get Vagrant Settings 0 31mThe provider virtualbox that was requested to b
  • 如何更改chartjs中图例的颜色并能够添加一个图例?

    我想更改图例的颜色 因为我想要不同的颜色代表不同的情况 但现在图例仅使用我在条形图上设置的第一种颜色 我还想问一下 是否可以多设置一个图例 比如粉色代表A情况 蓝色代表B情况 Here is the link 代码在这里 https jsf
  • 如何从表中获取最后一个插入ID

    我想获取表中最后插入的 ID 的值 我怎样才能做到这一点 那么我使用的解决方案是 select id from NEW TABLE insert into val1 val2 values lorem ipsum 这会从数据库中插入的最后一
  • php 中的 exec 导致“脚本标头过早结束:php-cgi.exe”错误

    我编写了一个 php 脚本 它使用 exec 调用外部命令 该命令将空间数据库查询结果编译到形状文件中 在具有大量记录 例如 15 000 条 的表中 执行此命令可能需要长达 7 分钟的时间 该脚本在不需要太长时间 可能 脚本标题过早结束意
  • PySide QWebView 和下载不支持的内容

    下面是使用 PySide 演示 Web 应用程序等的最小浏览器的代码 它通常按照我想要的方式运行 尽管我似乎不太清楚如何成功下载不支持的内容 在 Finished 方法中 self reply readAll 返回一个空的 QByteArr
  • 使用 Selenium 和 jUnit 的第一步 - 有什么好的教程吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何将过滤器关键字上的字符串传递给 Django 对象模型?

    如何在视图的关键字对象过滤器上传递变量 I have my object MyModel objects filter my keyword my filter values 我想从来自字符串的变量中获取 my keyword 如下所示 m
  • 在不同平台上使用 sqlite 和文件锁定是否存在已知问题?

    我使用 sqlite 来创建专有文件的索引 并且将使用多个线程 使用不同的 sqlite 句柄 访问数据库以进行读取和写入 我知道 sqlite 锁定文件是为了为读取器 写入器提供并发性 并且依赖于操作系统文件 api 进行锁定 这在 Wi
  • TS2307:在 TypeScript 上导入 Angular2 时找不到模块“angular2/core”

    大家好 我有一点 Angular 1 的背景 我正在学习 Angular 2 对于从 Angular 1 开始 唯一的依赖是添加角度源angular js or angular min js 当通过 script 标签尝试使用 Angula
  • 什么是概念?

    我听说过所有关于 C 0x 不再有概念的新消息 在 上 但我不知道它们是什么 有人可以向我解释一下吗 概念是一种通用编程功能 允许编写模板代码的人指定类型参数需要满足的要求 例如 某些集合类型需要集合的类型参数来定义 这有点过于简单化 但我
  • 原则 2 选择计数 groupBy

    我正在尝试检索许多具有唯一 uid 的行 qb gt select COUNT as cnt gt from type c gt groupBy c organization c process role c domain c year g
  • 错误:找不到 ActivitySplashBinding

    我正在尝试检查用户是否登录 如果是 则显示特定视图组 否则显示不同的视图组 为了检查用户是否登录 我从共享首选项中获取用户 登录时用户保存在共享首选项中 让我展示我的代码 启动视图模型 public class SplashViewMode
  • 将自定义道具传递给react-router v4中的路由器组件

    我正在使用 React Router 创建一个多页面应用程序 我的主要组成部分是
  • 使用 Swift 向下循环移动 SKSpriteNode

    使用 Swift 和 SpriteKit 我想以螺旋模式移动 SKSpritenode 但没有找到合适的资源来帮助我开始 更准确地说 我想以向下循环的方式移动精灵节点 我检查了一系列 SKActions 但由于它们不是并行执行的 因此与 m
  • 以 PHP5 中的数组形式返回当前日历周的日期

    我如何组合一个 PHP5 函数来查找当前日历周并以数组形式返回一周中每一天的日期 从星期一开始 例如 如果该函数今天运行 2010 年 2 月 25 日星期四 该函数将返回一个如下数组 0 gt Mon Feb 22 2010 br 1 g
  • 为什么 Unicode 字符在数据库中显示正确,但显示为 ?当通过 Hibernate 在 Java 中打印时?

    我正在编写一个 web 应用程序 并使用 Hibernate 3 5 与 MySQL 交互 使用 sukutoppu 作为我的测试字符串 我可以输入该字符串并查看它是否已正确保存到数据库中 但是 当我后来从数据库中提取该值并将其作为字符串打
  • C# 使用 Linq 连接 3 个列表 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想加入 3 个具有以下格式的列表
  • Wireshark 中看到的数据报,Qt UDP Socket 未接收到

    我正在编写一个 Qt 5 6 应用程序 通过 UDP 套接字与 FPGA 进行通信 数据包以 2 KHz 的速率传输到 PC 所有数据包大小相同 1272 字节 Wireshark 显示数据包正在发送 并且 UDP 标头符合预期 问题是 我
  • SmartGWT GWT 客户端服务器架构

    我们计划使用智能GWT GWT和相关框架用于客户端丰富的接口 以及在服务器端返回JSON数据的Spring MVC 作为调查是否符合我们要求的一部分 需要回答以下问题 在不使用任何框架的情况下从头开始构建 GWT 应用程序需要付出大量努力才