【发布时间】:2016-04-07 05:27:12
【问题描述】:
乍一看,这听起来像是一个无用的问题,但我需要给我的同事一些关于 JavaFX 历史的有效论据。我知道 FXML 并且 Swing 未来不会有任何新功能,这已经在 IT 世界中说明了这一点。
但除此之外......为什么他们从头开始而不是让 Swing 适应新的要求?
JavaFX 更简单,而且它支持 XML 布局,但在我看来,这听起来不像是构建一个全新的框架的必要条件。
我阅读了THIS 博客和有关该主题的其他一些资料,但我无法真正回答这个问题。据我所知,我阅读的观点大多是未成年人。
【问题讨论】:
-
垃圾桶是重要的设计工具。—loc. cit.
-
不确定这是否是问题的答案,但 JavaFX 在可能的情况下使用与平台图形硬件更紧密的集成。我想调整 Swing/AWT 来做到这一点会非常困难。请参阅documentation on the architecture。还有许多 API 设计特性,例如可观察属性,Swing/AWT 很难适应这些特性。
-
Swing(或其前身 API)最初是为组件驱动的 UI 开发(按钮、字段等)而构建的,具有非常灵活和可定制的图形层的额外好处,然后与 NetScape 合作推出,这需要 Java 能够访问本机小部件,所以我们得到了 AWT,然后 Swing 被重新设计以与这个 API 一起工作,所以他们确实不得不重新设计轮子。 JavaFX 被设计为 Flash 的竞争对手,因此它有截然不同的目标,但如果 Flash 在 HTML 5 手中消亡,那么该目标很快就会变得无关紧要
-
所以,简而言之,他们有不同的设计目标。在开发 Swing 时,我们并没有真正的 DirectX 或 OpenGL 管道,它们在今天几乎是标准的(并且 AWT/Swing 已经适应了在较低级别上使用),所以事情可以完成的方式有所进步.
标签: java swing javafx javafx-8 fxml