GWT,Smart GWT,GWT-ext比较

时间:2011-06-07 07:37:36

标签: java spring gwt architecture smartgwt

我在我的应用程序中使用带有ext的GWT 2.0.3。该项目不再处于活动开发状态,并且已被Smart GWT取代。我正在使用HMVC模式进行此应用程序。 现在有了现有的GWT 2.0.3和ext版本,我遇到了很多问题。问题与以下内容有关。

浏览器兼容性 HTML 5合规性

移动兼容性

独立决议

加载速度

控制丰富度

很久以前GWT 2.3版本也已经发布。现在我想将我的应用程序应用程序转移到新技术上。因为ext已不再处于活跃开发状态。而且我现在的版本也遇到了很多问题。

我正在考虑根据要求分析GWT 2.3,Smart GWT和Spring框架。但是我仍然有点困惑在这种情况下该做什么。如果有人对这种情况有所了解并给我一些明确的想法或比较那么技术对我来说非常有用。

请帮帮我。

3 个答案:

答案 0 :(得分:4)

关于迁移 - 将现有代码迁移到普通gwt 2.3并不容易。 ext使用不同的框架和类,你不会在gwt中以相同的方式找到它们,你将不得不重新编写大量的东西。

如果您想重新编码,那么选项对您开放 -

  • 智能GWT正在积极开发中,并且拥有更丰富的分类小部件。但是,我发现LGPL版本文档缺乏并且令人困惑,(如果你选择付费版本则不是问题)

  • 另一方面,GWT 2.3已经获得了与smartgwt相当的所有小部件(仍然缺少内置验证等内容)。我发现它比smartgwt更轻,更优化。但是,你可能需要做更多的css工作才能让它看起来像smartgwt一样优雅。

如果你想要一套好看的好看的小工具,不要介意稍微繁重的应用程序,请使用智能gwt。如果你有时间编写功能并设计自己,那么选择轻量级应用程序,请使用gwt。

编辑 -

  • 浏览器兼容性

    GWT-非常全面,可能会在这里和那里面临一点点麻烦。

    智能GWT-相当全面,但是,我不得不修改代码等以适应不同版本的IE。另外 - 不要将Smart GWT与GWT小部件混合!!!它是兼容性的噩梦,smartgwt并不是gwt的延伸(smartgwt包含了很多原生的js代码)。您可能最终会看到奇怪的js错误,甚至smartgwt团队发现难以调试 - 他们的建议 - 不要混合小部件。

  • 移动兼容性

    我没有在这方面工作,但两者都是基于JS的,所以应该在任何手机上运行。您可能需要弄清楚UI设计元素并捕获自然触摸事件。在这里,我仍然会使用gwt,因为它更轻。也许这会有所帮助 - http://traceurl.blogspot.com/2010/11/state-of-gwt-for-mobile.html不确定智能gwt对特定移动事件的支持。

  • 分辨率独立

    Smart gwt在这里获胜。只需在%年龄中声明小部件大小,让它发挥其魔力。使用gwt并不是那么简单,如果你想要可恢复性 - 你将不得不捕获调整大小事件

  • 加载速度

    GWT肯定更轻,负载更快。你也可以提高智能gwt的加载速度,但是你必须通过取消选择你不使用的代码等来做一些工作。如果你有经验,你可以将速度差降低到可以忽略的数量。

  • 控制丰富度

    不确定你要求的是什么,但如果它的小部件功能丰富,我将使用Smargwt(这是让它更重的一件事)。

答案 1 :(得分:1)

除非您愿意在功能和视觉吸引力方面采取明显的后退步骤,否则您应该选择SmartGWT。首先,GWT-Ext的网格功能强大得多。可用于GWT核心网格,只考虑列调整大小和重新排序初学者。对于并排比较:

http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellTable

http://www.gwt-ext.com/demo/#gridGrouping

相比之下,SmartGWT的网格是GWT-Ext的功能上的一个激进步骤 - 我只想指出一个示例,但实际上你需要浏览网格示例的所有文件夹才能看到功能的强大和广度: / p>

http://www.smartclient.com/smartgwt/showcase/#grid_summaries

所以 - 记住你正在为最终用户构建一个应用程序,并考虑他们将如何看待降级的用户界面。

完全披露 - 我上面所说的应该是不言而喻的,同时,SmartGWT是我的技术。

答案 2 :(得分:0)

我目前正在开展一个相对复杂的GWT项目,我很高兴完全使用GWT 2.3。虽然SmartGWT拥有比GWT更复杂的小部件,但您仍然无法将Uibinder与其结合使用,这就是我拒绝使用SmartGWT的原因。

通过这种方式,您将不得不花费更多精力来使用CSS来设置小部件的样式,另一方面,它会极大地将您的编程逻辑与您的演示文稿分离,并大大加快开发速度。此外,您可以专注于逻辑,让设计师为您的应用程序布局/设计风格。