8

我即将开始开发相当大的基于 Java 的桌面应用程序。在查看了JIDE 组件和框架后,乍一看似乎是一个不错的解决方案。我想听听那些使用这些产品的人的意见。他们有多可靠?学习曲线是什么?优点和缺点?

4

3 回答 3

17

我在 JIDE 生活和呼吸了近 2 年。作为我公司 Swing GUI 应用程序的主要开发人员,JIDE 让我的生活变得更加轻松和艰难。

首先,好的部分。

其组件的广度和深度令人难以置信。他们最新的演示有 171 个项目,大多数是针对不同的组件的。这就是 Swing 应该有的样子。该公司确实很小,但您不能说他们只有“一种产品”(@Stephen C)。您不会找到任何其他组件套件,其中包含从日期选择器和弹出警报到可搜索和可过滤的列表和表格,再到数据透视表和对接的所有内容。

他们的支持是超现实的。确实(根据@Carlos),唯一的媒介是论坛,但是他们的回复时间和质量确实令人惊叹(我是那里的第三个顶级海报,所以我知道)。我的许多帖子都是新功能和 API 更改(例如私有 -> 受保护)请求,并且它们在一两个版本内完成了绝大多数请求(这意味着最多几周到一个月)。

您可以购买完整源代码和未混淆调试 jar 的源代码许可证。如果您打算使用他们更复杂的产品,如支点和对接,我强烈建议您这样做(我希望我能从他们那里获得销售佣金)。

一旦你有了他们的源代码,你可以根据需要进行大量的定制,因为代码非常开放并且结构很好,可以扩展。有时扩展未记录的类/方法是有风险的,但它们的代码非常稳定。

我不得不说他们的代码质量是一流的。它不是很干净(它和 Swing 本身一样大),但我从来没有被迫挠头想 WTF。

他们为每个产品组提供了非常可靠的开发人员指南(向下滚动页面)。javadoc非常好。完整的演示本身是探索组件和功能的好方法。文档是我选择 JIDE 对接而不是 FlexDock 的主要原因(后来我发现 JIDE 对接还有更多功能)。


现在是困难的部分。

正如@Carlos 提到的,他们确实在每个版本中引入了回归。他们似乎没有完全全面和完全自动化的回归测试,但考虑到他们产品的复杂性和交互性,这可能几乎是不可能的,尤其是对于诸如枢轴和对接之类的东西。尽管他们修复的很快,但等待然后升级到新版本总是很痛苦,只是为了找到其他回归。话虽如此,我公司的 GUI 应用程序已经发布了多个版本,没有出现重大问题。

我主要使用了他们的许多有些独立的组件,如日期选择器、气球提示、状态栏、多页对话框等,以及他们最复杂的两个产品:数据透视表和停靠。(抱歉,没有 JDAF。)

它们很复杂,有充分的理由。OLAP 是一个独立的行业,而对接是所有现代 IDE 的基础。这就是为什么我没有把这部分称为“坏部分”。枢轴和对接很难使用,不是因为它们的质量,而是因为它们的复杂性

例如,JIDE 对接管理器有 70 多个原始 bean 属性(截至 2.9.5)。有些是相互依赖的,需要一段时间才能弄清楚如何设置它们以满足您的特定需求。


总而言之,我会毫无保留地推荐JIDE。如果由于它的适当性而无法使用它,那将是一个巨大的遗憾,在这种情况下,甚至不要看它的演示,否则你会发现那里的其他一切都缺乏。

于 2010-09-17T18:52:04.250 回答
12

我已经使用 JIDE 2.5 年了。就我而言,它是最好的 Swing 组件库(因为数量不多)。如果您想从这里获取一个组件,从那里获取另一个组件,则某些功能可以被其他替代方案替换,但有些功能似乎是独一无二的。当然,采用一个完整的解决方案而不是单独的组件和框架更容易。尽管我应该指出,我主要使用了库中的单独组件以及 Docking 框架,但没有使用 JDAF,因此我无法对此发表评论。
大多数部分的质量都很好,尽管在某些时候感觉每个版本都引入了一个新错误。但是每个 Swing 版本也是如此,所以不能真正责怪他们。总体而言,响应时间和客户服务都很好,因此您并不孤单。他们似乎也愿意根据客户的需求调整他们的产品。
然而,在某些方面,他们的操作似乎有点业余。例如,我上次检查时,他们的论坛仍然用作错误数据库。他们还发布了大量新产品,其中一些似乎永远停留在测试阶段。
我建议您就部署费用与他们联系,以了解总成本,评估产品,然后将采用 JIDE 的风险和成本与其他替代方案的风险和成本进行比较。开源也不是没有风险的。卡在一个死的商业产品上可能比卡在一个死的开源产品上更糟糕,但我也不喜欢。

于 2010-01-13T17:26:21.697 回答
5

我会警惕这个产品:

  • 如果您想分发给客户或进行大规模内部部署,您似乎需要支付“可协商的”部署费用。

  • JIDE Software 似乎是一家小型的单一产品公司。对于任何这样的公司,都存在很大的风险,即它会倒闭或被收购,从而使客户因产品死机而陷入困境。

  • 使用 JIDE 将成为使您的应用程序开源的障碍……如果这一步是您未来的计划的话。

于 2010-01-13T10:49:48.227 回答