3

我在谷歌应用引擎上有我的后端。现在我需要一个RIA。我的选择应该是什么?智能 GWT?分机 GWT?还是瓦丁?

或者如果你们中的任何人知道 JSF 和 Flex 以外的任何其他 RIA UI 技术,请告诉我。

4

4 回答 4

1

我有同样的需求:为 GAE 上托管的 RIA 应用程序评估 SmartGWT 和 Vaadin。

到目前为止比较它们,我认为SmartGWT确实更快更丰富,因为所有 GUI 逻辑都编译为 javascript,并且它们非常懒惰地请求服务器端,只有当客户端需要之前未加载到浏览器的新数据 + 一些灵活的缓存内容等等上。并且随着 SmartGWT 提供更多小部件而更加丰富。

但是您必须自己实现所有服务器端的东西(或购买许可证),这是一个主要缺点,因为您必须重新实现大多数数据绑定 gui 元素所构建的专有 DataSource 协议。

另一个缺点 - 第一页加载需要很长时间,因为有很多静态资源和编译的 javascript 内容。

Vaadin使用了完全相反的方式——您使用功能齐全的 java 在服务器端编写所有业务代码,并从预定义的元素(已经为它们编译的 javascript)组成您的 GUI。

主要区别在于它生成 GUI 并在服务器端处理大部分浏览器事件!因此,浏览器中任何更改 GUI 状态的操作,例如单击网格单元格、按钮或选项卡 - 都会向服务器端生成特殊请求并获得如下响应:

for(;;);[{"changes":[["change",{"format": "uidl","pid": "PID168"},["14",{"id": "PID168","width": "100.0%"},"Selected: [AS]"]]], "meta" : {}, "resources" : {}, "locales":[]}]

这表明应该如何更新 GUI。因此,Vaadin 为您的 GUI 逻辑提供了完整的 java 支持,但您需要通过在服务器端处理所有 gui 事件来为此付费。

因此,我认为Vaadin 更适合 Intranet 并且需要更少的时间来开发您的应用程序,而 SmartGWT 更适合更复杂的 GUI 或额外往返很重要的不稳定连接

ps 对于 GAE,我会选择 SmartGWT,因为 GAE 对服务器请求数、带宽等有限制。

于 2011-09-28T13:27:45.070 回答
1

您使用 GAE(Google App Engine)标记了这个问题。Vaadin 有一个可怕的缺点:它几乎需要粘性会话才能获得足够的性能,背景在这里:

http://dev.vaadin.com/ticket/6349

..但GAE不支持粘性会话并且永远不会。错误在这里关闭了 WontFix:

https://code.google.com/p/googleappengine/issues/detail?id=1320

GXT 和 SmartGWT 都不需要粘性会话,也不受 Vaadin.com 上讨论的问题的影响。全面披露:我是制造 SmartGWT 的公司的 CTO。

于 2013-04-24T20:27:44.210 回答
0

或者也许只是普通的 GWT。或者只是 HTML ;-) 你有什么需求?你的应用程序是做什么的?

于 2010-09-10T20:08:08.197 回答
0

我一直在使用普通的 GWT,我非常喜欢它的灵活性和性能。另一方面,我错过了一些信息组织。许多主题都在几个论坛的零散帖子中涵盖,并且需要大量黑客攻击。恕我直言,这个框架的去向和用途没有一个明确的概念。

另一方面,我测试过的 Vaadin 有非常有趣的功能,开箱即用,效果很好,而且是免费的,但支持社区要小得多。

Flex 看起来非常面向内容显示,而 GWT 及其继承者(SmartGWT、Vaadin 等)似乎在类似业务的应用程序中盛行。

于 2010-09-12T19:26:06.690 回答