为什么更新的JavaSE版本支持Swing,而JavaFX不支持



从我的角度来看,JavaFX比Swing更现代,使用起来更好。

我读了一份由甲骨文员工撰写的关于JavaFX未来的文件,发现了一句话:

Oracle重申Swing和AWT仍然是Java SE的核心在所有Java SE版本和支持中为Oracle提供的技术时间表。

为什么较新的JavaSE版本支持Swing,而不支持JavaFX

这是一个商业问题。

一个答案是,他们希望能够将JavaFX发布周期与主要的JavaSE发布周期分开。尽管事实证明JavaFX遵循了新的JavaSE发布节奏。

第二个答案是,将它们分离可能会使项目治理更加简单。

但为什么是JavaFX而不是Swing?

再次,业务原因:

  • JavaFX被认为更";利基;因此,将其拆分被认为更容易接受。

  • Swing(和AWT(是旧项目中广泛使用的技术。我所说的"老"是指";成熟的"/"遗留";已经存在了20多年的项目。分离Swing更有可能破坏更多旧项目。

    重大变化";中断";旧的客户代码或做法不利于Oracle的业务模式。它们惹恼了那些支付大量Java许可费的公司客户;"战略性";切换到其他语言。

  • Swing(和AWT(没有处于活跃的开发中,因此它们通常不会像JavaFX那样拖累Java SE的主进度


不管怎样,这一切都没有意义。拆分JavaFX而不是Swing的决定是几年前做出的。事情发生了。接受它。

最新更新