我即将开始开发相当大的基于Java的桌面应用程序。看了JIDE components and frameworks之后,它似乎是一个很好的解决方案。我想听听使用这些产品的人的意见。他们有多可靠?什么是学习曲线?优点和缺点?
答案 0 :(得分:17)
我已经在JIDE生活和呼吸了将近2年。作为我公司Swing GUI应用程序的主要开发者,JIDE让我的生活更轻松,更难。
首先,好部分。
其组件的 广度和深度 令人难以置信。他们最新的演示有171个项目,大多数是针对不同的组件。这就是Swing应该做的事情。该公司确实很小,但你不可能说他们只有“一种产品”(重新@Stephen C)。你不会发现任何其他的组件套件,包括从日期选择器和弹出警报,到可搜索和可过滤的列表和表格,到数据透视表和对接。
他们的 支持 是超现实的。确实(根据@Carlos),唯一的媒介是forum,但他们的回复时间和质量确实令人惊叹(我是那里的第三张顶级海报,所以我知道)。我的很多帖子都是新功能和API更改(例如私有 - >受保护)请求,并且它们在一个或两个版本中完成绝大多数(这意味着最多几周到一个月)。
您可以购买 源代码许可 ,以获取完整源代码和未经模糊处理的调试jar。如果您计划使用更复杂的产品,如枢轴和对接,我强烈建议您(我希望我能从中获得销售佣金)。
获得源代码后,如果需要,可以进行大量自定义,因为代码非常开放且结构良好,适用于 扩展 。有时扩展未记录的类/方法是有风险的,但是他们保持代码非常稳定。
我不得不说他们的 代码质量 是一流的。这不是吱吱作响的干净(它和Swing本身一样大),但我从来没有被迫刮过我的脑袋而想知道WTF。
每个产品组都有非常稳固的developer guide(向下滚动页面)。 javadoc很棒。 full demo本身是探索组件和功能的好方法。 文档 是我选择JIDE对接FlexDock的主要原因(后来我发现JIDE对接还有更多功能)。
现在困难部分。
正如@Carlos所提到的,他们确实在每个版本中引入了 回归 。它们似乎并不完全全面且完全自动化的回归测试,但考虑到其产品的复杂性和交互性,这可能几乎是不可能的,特别是对于枢轴和对接等。即使他们非常快速地解决问题,但是等待然后升级到新版本总是很痛苦,只是为了找到其他回归。话虽这么说,我公司的GUI应用程序已经发布了几个没有重大问题的版本。
我主要使用他们的许多独立组件,如日期选择器,气球提示,状态栏,多页对话框等,以及两个最复杂的产品:数据透视表和对接。 (对不起,没有JDAF。)
它们很复杂有充分的理由。 OLAP是一个独立的行业,对接是所有现代IDE的基础。这就是为什么我没有把这部分称为“坏部分”。枢轴和对接很难使用,不是因为它们的质量,而是因为它们 复杂性 。
例如,JIDE对接管理器具有超过70个原始bean属性(截至2.9.5)。有些是相互依赖的,需要一段时间才能弄清楚如何根据您的特定需求进行设置。
总而言之,我会毫无保留地推荐JIDE。如果由于它的适当性你不能使用它会很遗憾,在这种情况下甚至不看它的演示,否则你会发现其他一切都缺乏。
答案 1 :(得分:11)
我已经使用JIDE已有2。5年了。就我而言,它是最好的Swing组件库(因为没有很多)。如果你想从这里获取一个组件而从那里获取另一个组件,有些功能可以被其他替代方案替换,但有些功能似乎是唯一的。当然,采用一个完整的解决方案而不是单独的组件和框架更容易。虽然我应该指出,我主要使用库中的独立组件以及Docking框架,但不是JDAF,所以我不能对此发表评论。
质量对大多数部分来说都是好的,尽管在某些时候它感觉每个版本都引入了一个新的bug。但每个Swing版本都是如此,所以不能真正责怪他们。响应时间和客户服务一般都很好,所以你并不孤单。他们似乎也愿意根据客户需求调整产品
然而,在某些部分,他们的操作似乎有点业余。例如,我上次检查时,他们的论坛仍被用作bug数据库。他们还发布了大量新产品,其中一些似乎永远陷入了测试阶段
我建议您就部署费用与他们联系,以了解总成本,评估产品,然后考虑采用JIDE的风险和成本与其他替代方案的风险和成本相比较。开源也没有风险。被困在一个死的商业产品上可能比被困在一个死的开源产品上更糟糕,但我也不喜欢。
答案 2 :(得分:5)
我对这个产品持谨慎态度:
如果您想向客户分发或进行大规模的内部部署,您似乎需要支付“可转让”的部署费用。
JIDE Software似乎是一家小型产品公司。对于任何这样的公司来说,存在很大的风险,它将会破产或被收购,让客户陷入困境中。
使用JIDE会阻碍您的应用程序开源......如果您的未来计划中有这一步骤。