soc*_*soc 13 java api user-interface swing swt
考虑到这一点
还有另一条出路吗?
如果我想在JVM上进行GUI开发
是否有可用的第三种选择或未来可能有一种选择?
一个选项
这是现实的吗?
谢谢!
=========
澄清:如果我必须在JVM上启动一个新的软件项目,有几个现有的选项,如使用SWT或Swing,使用Swing与第三方库,如SwingX,JIDE,JGoodies,Flamingo或使用Netbeans Platform等应用程序框架或Eclipse RCP.是否有支持/建议的方法可以减轻通常与Java GUI开发相关的痛苦?
我认为,答案更倾向于摇摆.
当然这是一项成熟的技术(有点旧),但我什么都不知道.这将是GUI开发的cobol :-)
你不会找到这个问题的客观答案,只有个人喜好和选择.
我个人的偏好是SWT.我开始使用它,当Swing不好选择时.SWT"只是"本机窗口API之上的一层,因此使用SWT编写的应用程序就像本机编写的应用程序一样.那些也可以搞砸了.对于糟糕的开发人员来说,没有API是安全的.性能和我的经验一样快.如果不是,那么还有另一种方法可以实现它.
SWT的API非常低,这使得实现基本的东西出乎意料地乏味,但幸运的是,大多数典型的用例都可以通过JFace解决,从而改善了这种情况.当您使用API一段时间后,您将累积自己的util类.您可以快速实现SWT工具.
由于SWT只为您提供基础知识,因此您需要MigLayout和Nebula小部件才能生存.你可能会喜欢Glazed Lists.
实际上我希望除了SWT和Swing之外还包括另一个选项:Qt Jambi.但诺基亚放弃了这一点,现在它"由一个开源社区维护".所以我不知道"几年内不会过时".
然而,我对这一持续的讨论感到兴奋.有些人使用Qt Jambi编写了一个SWT实现作为"本机"API.他们正试图弄清楚如何贡献它.让Qt作为一个选项有一天可以为SWT启用你的"在所有平台上运行的单个库",尽管我不会很快指望它.
但对我来说,你对"单一图书馆"的要求并不是一个大问题.使用maven进行构建,添加几行配置,你很快就会忘记这一点.
我无法将SWT与Swing进行比较,因为我对Swing的体验受到限制.作为一个用户,我不喜欢大多数Swing应用程序,但我确实看到了一些美丽的应用程序.
如今,Swing应用程序的原生外观和感觉非常好,但你不会欺骗高级用户.在新的和做得好的Swing应用程序中,性能似乎也非常好,但同样,这只是作为用户的限制视图.
显然,Swing的第三方扩展比SWT更多 - 只需进行谷歌搜索.(但话说回来,如果你忍受学习Eclipse RCP的痛苦,你也会得到一个庞大而有趣的基础设施.虽然这不是关于小部件,就像EMF或RAP这样的东西.我不是Eclipse RCP人 - 我从来没有过足够的耐心......)
如果你喜欢这些东西,Swing的一个非常大的优势就是Netbeans的GUI构建者Matisse.顺便说一下,Qt还有一个做得很好的GUI构建器.
如果您计划长期,我没有看到比SWT或Swing更多的选项用于Java中的GUI开发.如果你花足够的时间,两者都足以满足大多数需求.但它们并不完美.你总是羡慕那些使用其他语言的人为他们的小部件,实现速度,工具,......如果你不受Java的约束,你甚至可能更喜欢Flash或Qt.
归档时间: |
|
查看次数: |
10994 次 |
最近记录: |