我有一个非常大的程序,目前正在使用 SWT。该程序可以在 Windows、Mac 和 Linux 上运行,它是一个包含许多元素的大型桌面应用程序。现在 SWT 有点老了,我想切换到 Swing 或 JavaFX。我想听听你对三件事的看法。
我主要关心的是桌面 GUI 应用程序会更好吗?(我在网上看了很多人建议 JavaFX 和 Swing 一样好,但除了简单的意见火焰战,我没有看到很多有效的论据)。它必须适用于 Windows、Mac 和一些流行的 Linux 发行版。
什么会更清洁、更容易维护?
从头开始构建什么会更快?
我在我的应用程序中使用 MVC 方法,如果这有帮助的话。
一切都是平等的,可能是 JavaFX - API 在组件之间更加一致。但是,这更多地取决于 代码是如何编写的, 而不是 使用什么库来编写它 。
高度依赖于您正在构建的内容。Swing 有更多的组件(第 3 方以及内置),但并非所有组件都已进入更新的 JavaFX 平台,因此如果您需要某些东西,可能需要重新发明轮子有点习惯。另一方面,如果你想做过渡/动画/视频的东西,那么这在 FX 中要容易几个数量级。
要记住的另一件事是(也许)外观和感觉。如果您绝对必须拥有默认的系统外观,那么 JavaFX(目前)无法提供此功能。对我来说不是必须的(无论如何我更喜欢默认的 FX 外观),但我知道有些政策要求对系统样式进行限制。
就我个人而言,我认为 JavaFX 是“即将推出”的 UI 库,它还没有 完全 出现(但不仅仅是可用),而 Swing 是目前功能齐全且受支持的边界线遗留 UI 库,但可能不会未来几年会有这么多(因此外汇很有可能会在某个时候超越它。)