2009-05-18 172 views
27

我在几天内开始在smartGWT项目上工作,我想知道您有什么样的体验。为了避免使这种对smartGWT或GWT的抨击或自由式讨论,我将提供一些讨论的指针:smartGWT的缺点和优点

  • 您是否觉得所提供的小部件集成得很好?有没有特别想念的小工具?
  • 在设计由应用程序引起的应用程序时,是否遇到过任何问题?
  • 数据源集成是否与smartClient团队声称的一样有用?
  • 您使用哪些方法使您的smartGWT应用程序保持持久性?例如Hibernate和smartGWT如何相互发挥作用?

随意添加任何你觉得值得指出的东西。

回答

21

我想你已经有了答案,但我想补充一些更多的评论,可能会影响你的决定:

优点:

  • SmartGWT的是最compreensive LGPL GWT-你可以找到基于图形的widgetery库。所以如果你关心GPL的痛苦,这是你的东西
  • 综合展示。
  • 真的很好的表现(只需检查展柜)。
  • 在论坛中非常活跃的社区。
  • SmartGWT扩展是另一个重要的项目。例如,它支持基于GWT-RPC的通信,这是不可能的,只有SmartGWT(除非您实现自己的集成)。
  • SmartGWT家伙的快速发展速度。只需计算自SmartGWT项目出现以来的发布数量。

缺点:

  • 除了展示,我有时觉得弄清楚事情是如何工作的唯一途径是通过询问在论坛中。这导致传播的知识基础。基于社区的维基将是更可取的。
  • 大量的静态文件必须与您的应用程序(着名的'sc'目录)一起使用,如果您的后端处于GAE(由于1000个文件限制),可能会导致问题。
+5

添加缺少的文档(虽然它正在改进),并且对论坛列表中的支持不足。 – 2010-06-21 15:49:10

+0

_如果后端在GAE_中,您的应用程序需要使用大量静态文件,这可能会导致问题,如果后端是GAE,是否有任何解决方法?例如使用一些更清晰的主题和更少的图像等 – yetanothercoder 2011-09-27 14:59:25

+1

@yetanothercoderu:早在我使用GWT的时候,我设法通过使用单个压缩的'sc'文件夹文件并使用servlet来实时解压缩资源来解决问题。我已经在这里发布了这个hacky解决方案:http://forums.smartclient.com/showthread.php?t=5258请注意,性能不足。 – ivo 2011-09-27 19:29:47

8

您是否觉得提供的部件 已经集成好?有没有特别想念的 小工具?

你可以创建任何遗漏的小部件,没有一个框架可以提供你想要的一切。小部件相当可扩展。

数据源集成是否与smartClient团队声称的一样有用?

数据(JSON/XML)可以由servlet服务提供,他们可以通过 小部件了解。

您使用哪些方法使您的smartGWT应用程序保持持久性?例如 Hibernate和smartGWT相互扮演多好?

在GWT的后端servlet服务中,可以使用Java中的任何持久层将数据存储在存储中。 Hibernate可以像普通的Java应用程序一样使用。

6
你觉得所提供的小部件集成得很好吗?有没有特别想念的小工具?

是的。这些小部件具有一致的API并且可以很好地协同工作。

数据源集成是否与smartClient团队声称的一样有用?

这个IMO是他们最强大的功能之一。一旦你开始使用他们的Datasource API,你会意识到只需要很少的代码就可以获得一个功能完整的CRUD屏幕

你用什么方法使你的smartGWT应用程序持久?例如Hibernate和smartGWT如何相互发挥作用?

Hibernate与SmartGWT EE版本一起使用。使用LGPL版本使用Glead作品井

+0

他指基列 - http://sourceforge.net/projects/gilead/ – 2010-06-21 15:45:39

2
  • 在设计由应用程序引起的应用程序时,是否遇到过任何问题?

是的。当我将Google Eclipse插件,SmartGWT,GWT 1.6.4和Wicket结合使用时,gwt编译器会发出不好的javascript。通过糟糕的JavaScript,我的意思是javascrip在webkit或firefox中不起作用。直到我从Eclipse项目中完全删除它并重新启动Eclipse后,我才得到好的JavaScript。所以,这种组合不会起作用,我最终在另一个项目中分别构建了SmartGWT部件。另一个问题是智能客户端似乎想要控制整个页面的CSS意义。所以,集成的SmartGWT模块全部搞砸了,因为样式没有正确隔离。你的旅费可能会改变。

就个人而言,如果您只使用SmartGWT,并且所有内容都很可能会很好,但如果您尝试混合使用,那么我的结果是灾难性的。所以,我不再使用它。

+0

这听起来像1)一个导致糟糕的JavaScript的GWT错误,现在可能已经修复了,2)CSS命名SmartGWT和Wicket之间的冲突,可能既不是框架的错误,也不知道为什么这会被归咎于SmartGWT。 SmartGWT可以与任何图书馆的CSS兼容 - SmartGWT的所有样式名称都可以通过换肤系统重命名以解决任何此类冲突。 – 2010-03-12 16:53:34

2

就像上面提到的Wicket烦恼的海报对比,SmartClient论坛(forums.smartclient.com)报告说SmartGWT与各种其他技术的成功集成。这张海报的问题听起来像1)一个导致糟糕的JavaScript的GWT错误和2)SmartGWT和Wicket之间的CSS命名冲突,可能都不是框架的错误。所有SmartGWT的样式名称都可以通过换肤系统重命名以解决任何此类冲突。

3

我认为SmartGWT有很多很棒的小工具,但是却有很大的价格。 创建一个简单的基于SmartGWT的项目,并观察您的页面加载了多少文件。 我认为,这完全违背了像GWT这样的理想。尽管SmartGWT对于截止日期的人来说可能是一个不错的选择,但如果您想要原始性能,请远离它。 HTTP请求的数量将简单地终止您的应用程序。

+2

不正确。 SmartGWT适用于人们用于扩展会话和/或重复使用的Web应用程序。在这种情况下,可缓存资源的HTTP请求一旦发生,动态请求数据就是性能调整需要关注的内容。在这里,由于诸如自适应滤波之类的功能,SmartGWT拥有巨大的领先优势: http://www.smartclient.com/index.jsp#adaptiveFilter 由于这些功能,对于符合上述使用情况配置文件的应用程序, SmartGWT是最快的解决方案。 – 2010-07-30 23:41:52

13

我们在上一个项目中使用了SmartGWT(持续时间:6个月)。以下是我的个人意见:

小部件真的很棒!文档和API是详细的。我们将再次使用客户端。

服务器端集成工作,但没有节省任何开发时间。相反,我们遇到很多问题,我们必须找到解决方法。此外,由于新的API,没有其他开发人员可以投入大量时间来学习SmartGWT API,因此无需维护该项目。

一些缺点:

  • 你必须去学习一个全新的API,而不是使用Hibernate和GWT-RPC或REST的。

  • 数据集成自动完成,这是事实。但是,如果您需要一些(也很少)更改,则必须像使用Hibernate或JDO一样编写XML映射文件。所以好处不复存在。

  • 论坛支持不好:你几乎得到了每个发布的问题的答案。但是这个答案往往没有帮助。他们问你一些事情,比如“你为什么想这样做”。或者他们说:“使用我们的工具并对它做XYZ”,但是我一再告诉他们这个建议不起作用。在回答一个问题后,最终答案是:“你需要培训,购买我们的支持”。

  • 商业支持成本高昂(成本与SmartGWT许可证大致相当)。

我们可能不会再次使用服务器端的SmartGWT集成。

你可以阅读我的“经验教训”与我的博客的优点和缺点:

http://www.kai-waehner.de/blog/2010/12/11/lessons-learned-smartgwt-2-3-component-library-for-google-web-toolkit-gwt/

最好的问候, 凯的Wahner

+2

+1给论坛支持部分。论坛的支持非常糟糕。感谢您的博客文章 - 我从中学到了一些东西:) – Kimi 2011-07-12 08:46:53