我想开始一个新项目,它将广泛使用插件.我知道Eclipse和Netbeans都有各自的Rich Client平台,两者各有优缺点.
我想对Stack Overflow社区更喜欢的一些评论.
此外,最重要的是,各个平台为现有应用程序编写插件是多么容易.例如,如果我完成了我的应用程序,并希望第三方能够使用自己的插件扩展它,那么每个平台如何为此提供功能?他们是否需要我的源代码才能这样做,或者这些平台是否提供了第三方可以编码的插件API?
关于Java Desktop-gui-applications,我有一个非常笼统的问题。
我的经验: 在过去的几年中,我开发了许多桌面应用程序,其中一些单独使用Swing,一些使用Spring-RCP(这很棒,但是我不能只赌一个尚未更新超过3个的框架)年了)。我也在看Valkyrie RCP,但是在我看来,那里也确实没有那么多动作。我还使用Wicket,Tapestry和最近的JSF2(Primefaces)开发了Web应用程序。在Web应用程序方面积累了一些经验后,我感觉Java桌面GUI已被放弃很久了。当然,我以前没有注意到这一点,但是在开发了Web应用程序之后,我真的看到直接比较桌面uis是多么痛苦和复杂。
我正在寻找的是: 我在这里没有做任何火箭科学,我最想念的是一种构建以下简单布局形式的简便方法
label_a input_a feedbackMessage_a
label_b input_b feedbackMessage_b
....
button_save
Run Code Online (Sandbox Code Playgroud)
这不仅与布局有关,而且可能是最小的问题。首先,我正在寻找一种将输入字段的值“绑定”到某种“ backing-bean-fields”的方法。我也想使用直接反馈,这意味着如果对input_a的验证失败,我希望在feedbackMessage_a上显示一条消息,而在其他任何地方。第三,我想在此直接反馈中使用JSR-303验证。如果我深入研究典型桌面应用程序的源代码,通常会看到每个按钮都有一个巨大的动作监听器,其中所有值分配,验证和反馈消息创建都是手动编写的。将此与诸如挂毯或jsf2之类的网络框架进行比较。您在那里要做的就是使用某种表达式语言将输入字段“绑定”到变量/字段,就是这样。该值正在得到验证(例如 使用JSR-303注释)和(如果所有值都有效)自动传递到支持Bean的绑定字段中。同样,如果发生验证错误,则会创建一条验证消息,其中输入字段的ID用于标识负责的输入字段。如果存在用于该特定ID的消息组件,则在此处设置验证消息。这是顺理成章的。
现在回到桌面GUI;为了有一个可比的用户界面,比如说一个带有20个输入字段的表单,我可能需要500行侦听器代码,首先我自己读取每个文本字段的值,然后对其进行验证并将其写入相应的变量中。如果我要使用JSR-303,我可以自己打电话给验证器,但是回溯到相应的输入字段并在那里设置反馈消息会很麻烦。很痛苦,不是吗?
我的问题: 有什么方法可以减轻疼痛?您如何开发现代桌面应用程序?您使用什么框架,为什么?是否有可能使用类似webframeworks的绑定方式?如上所述,我如何实现“直接反馈”?我是否错过了这里的培训,或者在过去几年中编写Web应用程序变得更加简单,而Java桌面似乎停滞了呢?(除了JavaFx,但这对我没有帮助)
结束语 别误会,我是Java桌面应用程序的忠实拥护者。在一个我正在工作的中等规模的公司中,在同类环境中(所有客户端都安装了相同的Java版本,依此类推),我真的没有看到Web应用程序的收益。使用webstart,该应用程序启动非常快(当然,在首次下载后)。在我看来,尽管Java中以前端为中心的webframeworks以光速前进,但java-desktop几乎没有动。尽管我可以忍受这样的方式,但我确实必须问这个问题。