我有一个非常大的程序,目前正在使用SWT。该程序可以在Windows、Mac和Linux上运行,它是一个包含许多元素的大型桌面应用程序。现在SWT有点老了,我想换成Swing或JavaFX。我想听听你对三件事的看法。
我主要关心的是哪种方式更适合桌面GUI应用程序?(我在网上看了看,很多人认为JavaFX和Swing一样好,但我没有看到多少有效的论点,除了简单的观点之战)。它必须在Windows、Mac和一些流行的Linux发行版上都能运行。
我在我的应用程序中使用了MVC方法论,如果这有任何帮助的话。
发布于 2013-05-22 23:00:37
什么会更干净,更容易维护?
在所有条件都相同的情况下,可能是JavaFX --应用编程接口在各个组件之间更加一致。然而,这更多地取决于代码是如何编写的,而不是使用什么库来编写它。
和什么会更快从零开始构建?
高度依赖于您正在构建的内容。Swing有更多的组件(第三方的以及内置的),并且并不是所有的组件都已经进入更新的JavaFX平台,所以如果你需要一些定制的东西,可能会有一定程度的重新发明轮子。另一方面,如果你想做过渡/动画/视频之类的东西,那么在FX中这就容易了几个数量级。
另一件要记住的事情是(也许)外观和感觉。如果你一定要有默认的系统外观,那么JavaFX (目前)不能提供这个。对我来说不是很重要(我更喜欢默认的FX外观),但我知道有些政策要求对系统样式进行限制。
就我个人而言,我认为JavaFX是“正在兴起的”UI库,现在还不是很好用(但不仅仅是可用的),而Swing是边界遗留的UI库,目前功能齐全并得到支持,但在未来几年可能不会有那么多(因此FX可能会在某个时候超过它)。
发布于 2014-02-18 04:13:31
正如甲骨文所说,JavaFX是其基于Java的富客户端战略的下一步。因此,以下是我针对您的情况推荐的方法:
维护更容易、更整洁的是什么
从头开始构建的速度会更快
上进行图形用户界面开发
MVC模式支持
有关更多信息,请在此处查看甲骨文发布的关于JavaFX的这些常见问题解答。
发布于 2014-04-04 09:42:34
没有人提到这一点,但由于缺少"jfxrt.jar“支持,JavaFX不能编译或运行在甲骨文认为是”服务器“的某些体系结构上(例如Solaris)。坚持使用SWT,直到另行通知。
https://stackoverflow.com/questions/16694948
复制相似问题