Java桌面应用程序有一个很好的框架吗?

use*_*733 28 java swing desktop-application eclipse-rcp spring-rcp

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

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

Jay*_*yan 11

请试试格里芬.这是基于groovy语言和灵感来自 grails框架.它运行在JVM上,语言对java程序员非常友好.

从网站引用

Griffon是一个用于在JVM中开发桌面应用程序的应用程序框架,Groovy是首选的主要语言.受Grails的启发,Griffon遵循Convention over Configuration范例,搭配直观的MVC架构和命令行界面.

....该架构非常具有可扩展性.

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


Mit*_*ski 9

它主要取决于应用程序的大小.

对于中小型应用程序,使用不使用不同语言的JavaFX 2是有意义的,您可以从一些基本教程开始.

正如您在企业级应用程序中所提到的,Eclipse RCPNetbeans RCP是一个很好的选择.

Netbeans RCP对于开发来说简单得多,你不应仅仅因为IDE偏好而忽略它.有一关于它的免费书籍是一个很好的起点.

还有e4选项应该是eclipse的重大改进,但我不能说我已经使用它了

值得关注的相关资源可能是:

http://netbeans.dzone.com/why-from-eclipse-rcp-to-netbeans-platform

Netbeans RCP与Eclipse RCP


Mar*_*o B 9

我前段时间问了一个类似的问题,如果你有兴趣的话,请参阅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-Widgets,比如JXDatePicker.我也推荐JGoodies Binding和JGoodies Form,两者都很棒.如果您使用客户端 - 服务器应用程序,我强烈建议使用Spring-Remoting(例如HTTP Invoker)和Spring-Security.真的让事情更简单.

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

Spring-RCP是迄今为止我发现的"完整"桌面框架最接近的东西,它已经死了多年.

祝好运!


Ste*_*ier 5

查看JGoodies。不仅外观和感觉更好,而且还提供了一个设计 Swing 应用程序的框架。

桌面应用程序的一个大问题是它实际上取决于您要设计的内容。与网页->请求->网页的 webapps 不同,桌面应用程序几乎可以做任何事情。没有标准周期,即使对于商业应用也是如此。它更像是 AJAX,而不是普通的 Java EE 或 PHP webapp。以及有多少 AJAX 库实际上提供了一个框架而不是调用和更新特定组件。

您可以更新菜单、按钮、面板、动态渲染事物、更改图形、更新数据等。

如果您只是在寻找表格,那么JGoodies可能是您最好的选择。