27

几天后我将开始一个 smartGWT 项目的工作,我想知道你有什么样的经历。为了避免使这成为对 smartGWT 或 GWT 的抨击或自由式讨论,我将为讨论提供一些指导:

  • 您觉得提供的小部件集成良好吗?有没有你特别想念的小部件?
  • 您在设计应用程序时是否遇到过由框架引起的问题?
  • 数据源集成是否像 smartClient 团队声称的那样有用?
  • 您使用什么方法使您的 smartGWT 应用程序持久化?例如,Hibernate 和 smartGWT 相互配合如何?

随意添加您认为值得指出的任何内容。

4

7 回答 7

21

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

优点:

  • SmartGWT 是您能找到最全面的基于 LGPL GWT 的小部件库。所以如果你关心 GPL 的痛苦,这就是你的事
  • 综合展示。
  • 非常好的性能(只需检查 Showcase)。
  • 论坛中非常活跃的社区。
  • SmartGWT 扩展是另一个重要的项目。例如,它支持基于 GWT-RPC 的通信,这仅通过 SmartGWT 是不可能的(除非您实现自己的集成)。
  • SmartGWT 开发人员的快速发展步伐。只需计算自 SmartGWT 项目出现以来的发布数量。

缺点:

  • 除了展示之外,我有时觉得弄清楚某件事是如何工作的唯一方法就是在论坛上提问。这导致了传播知识库。基于社区的 wiki 会更好。
  • 您必须在应用程序中使用大量静态文件(著名的“sc”目录),如果您的后端在 GAE 中,这可能会导致问题(因为 1000 个文件的限制)。
于 2009-05-25T17:16:07.203 回答
14

我们在上一个项目中使用了 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/

最好的问候, Kai Wähner

于 2010-12-11T09:58:02.250 回答
8

您觉得提供的小部件集成良好吗?有没有你特别想念的小部件?

您可以创建任何错过的小部件,没有一个框架可以提供您想要的一切。小部件非常可扩展。

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

数据 (JSON/XML) 可以由 servlet 服务提供,并且它们可以被小部件理解。

您使用什么方法使您的 smartGWT 应用程序持久化?例如,Hibernate 和 smartGWT 相互配合如何?

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

于 2009-05-18T09:05:49.037 回答
6
您觉得提供的小部件集成良好吗?有没有你特别想念的小部件?

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

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

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

您使用什么方法使您的 smartGWT 应用程序持久化?例如,Hibernate 和 smartGWT 相互配合如何?

Hibernate 在 SmartGWT EE 版本中开箱即用。使用 Glead 的 LGPL 版本效果很好

于 2009-05-19T13:34:02.007 回答
4

我认为 SmartGWT 有很多很棒的小部件,但是价格却很高。创建一个简单的基于 SmartGWT 的项目并观察页面加载了多少文件。我认为,这完全违背了 GWT 之类的理想。虽然 SmartGWT 对于在截止日期前的人们来说可能是一个不错的选择,但如果您想要原始性能,请远离它。HTTP 请求的数量只会杀死您的应用程序。

于 2009-12-28T10:23:27.960 回答
3
  • 您在设计应用程序时是否遇到过由框架引起的问题?

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

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

于 2009-05-19T22:29:17.353 回答
2

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

于 2009-06-10T23:37:31.723 回答