有没有一个好的Java桌面应用程序框架?[已关闭]

我在Swing中开发了许多桌面应用程序,即使是那些更复杂的桌面应用程序,也集成了Hibernate和Spring。我发现许多事情都是重复的,应该以快速方便的方式完成,例如应用程序生命周期,日志记录,警报,授权,表单及其验证。我开始寻找框架。我遇到了Swing Application Framework,事实证明,它已经死了好几年了。Spring RCP确实满足了我的期望,特别是基于Java Bean模型创建表单是我喜欢的,但我意识到它也已经死了。Netbeans RCP不适合我,我正在使用Eclipse,我不想使用另一个IDE进行桌面开发。我对Eclipse RCP并不感到兴奋,我觉得它太面向Eclipse了,我更喜欢一些低耦合到任何工具的东西,除了它不是那么简单易学。

令我感到惊讶的是,在Java中开发基于桌面的业务应用程序的支持如此之弱。这就像Java只在Web环境中使用一样。那么制作此类应用程序的首选语言是什么?如果我想继续使用Java,是否有机会找到类似于Spring RCP的东西(到目前为止我无法找到)?


答案 1

我前段时间问了一个类似的问题,如果你有兴趣,请参阅Swing桌面开发

我的结论是/是,根本没有框架可以为您的桌面应用程序做,任何一个伟大的WEBframeworks都可以为您的Web应用程序做些什么。这似乎很荒谬,但根据我的经验,由于出色的Web框架和桌面框架的缺乏,开发Web应用程序变得更加容易。

我一直在使用Spring-RCP进行2个项目。它很棒,但现在几乎无法使用,因为你坚持使用春季2.5。此外,它“感觉”对我来说有点慢,并且在64位机器上真的需要内存,这很可能是一个Spring-Swing问题:https://jira.springsource.org/browse/SPR-9628

我等了Project Valkyrie,但它似乎已经死了。

我想你不会找到任何完全符合你要求的东西。http://swingx.java.net/ 也许可以为您提供一些GUI小部件,例如JXDatePicker。我还推荐JGoodies Binding和JGoodies Form,两者都很棒。如果您使用客户端 - 服务器应用程序,我强烈建议使用Spring-Remoting(例如HTTP Invoker)和Spring-Security。真的让事情变得更简单。

我喜欢用Swing开发桌面应用程序,但不幸的是,你真的必须“加倍努力”。客户端 - 服务器通信,安全性甚至验证只是当今许多看起来过于复杂的事情中的几个例子(与现代Webframeworks相比)。此外,您可能会发现使用java-webstart自动构建,签名和部署应用程序并不像它应该的那样容易。

Spring-RCP是迄今为止我发现的最接近“完整”桌面框架的东西,它已经死了好几年了。

祝你好运!


答案 2

请尝试狮鹫。这是基于时髦的语言,并受到grails框架的启发。它运行在JVM上,语言对Java程序员非常友好。

网站引述

Griffon是一个在JVM中开发桌面应用程序的应用程序框架,Groovy是首选语言。受Grails的启发,Griffon遵循约定高于配置的范式,并配有直观的MVC架构和命令行界面。

....该体系结构具有很强的可扩展性。

Griffon框架可以通过插件进行扩展。有很多可供选择。例如,您将找到第三方Swing组件的插件,如Swingx,Jide和Macwidgets;持久性相关的插件,如DataSource,GSQL,Hibernate等;3D图形和动画支持可以通过JOGL,LWJGL和Processing实现。还有更多!


推荐