我有一个非常大的程序,当前正在使用SWT。该程序可以在Windows,Mac和Linux上运行,它是一个包含许多元素的大型桌面应用程序。现在SWT有点老了,我想切换到Swing或JavaFX。我想听听您对三件事的想法。
我主要关心的是桌面GUI应用程序会更好吗?(我在网上看过,很多人认为JavaFX与Swing一样好,但是除了简单的见解大战之外,我没有看到很多有效的论点)。它必须在Windows,Mac和一些流行的Linux发行版上都可以工作。
什么会更清洁,更易于维护?
从头开始构建什么会更快?
我在应用程序中使用MVC方法论,如果有帮助的话。
在所有条件相同的情况下,可能是JavaFX,API在各个组件之间的一致性要好得多。但是,这很大程度上取决于 代码的编写方式, 而不是取决于_使用什么库_ 编写代码 。
从头开始构建的速度更快?
高度取决于您要构建的内容。Swing拥有更多的组件(第三方和内置组件),但并不是所有组件都已进入更新的JavaFX平台,因此,如果您需要一些组件,可能需要重新设计轮子。有点习惯。另一方面,如果您要进行转场/动画/视频工作,则在FX中这要容易几个数量级。
要记住的另一件事是(也许)外观。如果您绝对必须具有默认的系统外观,那么JavaFX(目前)不能提供此功能。对我来说并不是必须的(我还是喜欢默认的FX外观),但是我知道有些策略要求限制系统样式。
就个人而言,我看到的JavaFX为“行动和未来”,这不是UI库_相当_到那一步(但超过可用),和Swing为的全功能和支持的时刻边界遗留UI库,但可能不会在未来的几年中会发生很多事情(因此,FX可能会在某个时候超过它。)