JavaFX作为单独的模块:回顾和飞跃

当JavaFX于2007年发布时,这是Sun首次认真尝试用能够渲染用户界面(UI)的更现代的客户端平台替代老化的AWT / Swing技术。

JavaFX的主要功能之一是将开发人员用于创建用户界面的API与确保接口在设备上呈现的呈现引擎之间分开。 对于Windows平台,JavaFX渲染管道使用Direct3D,而对于其他平台,渲染管道基于OpenGL。 由于这种分离,当新的硬件渲染技术可用时,不必更改JavaFX API。 JavaFX秉承Java的精神,允许创建跨平台的应用程序,这些应用程序在基础实现发生更改时仍可正常工作。

最初,JavaFX被认为对游戏等很有趣。尽管这仍然很有可能,但是在需要对敏感数据进行高性能图形操作的行业中,大量的JavaFX开发人员非常活跃。 JavaFX呈现API与核心JDK和第三方库提供的安全功能相结合,可以创建成熟,面向未来并具有视觉吸引力的桌面,移动和嵌入式应用程序。 由于许多应用程序是在封闭的公司内部开发和使用的,因此通常很难估计 JavaFX 的普及程度

在科学界中,例如,深空轨道浏览器(Deep Space Trajectory Explorer)越来越多地采用JavaFX。

随着AI和深度学习的日益普及,对于希望利用Java平台和JavaFX UI API并提供包括深度学习算法功能的开发人员来说,JavaFX和Client Java通常变得越来越有趣。

与Swing / AWT相比,JavaFX API与当今的UI开发概念更加一致,并且底层渲染引擎正在利用硬件加速。 结合起来,这使得JavaFX成为一个真正的现代UI平台,它仍在利用将近25年的Java经验带来的好处。

JavaFX不仅是简单的呈现用户界面,而且该平台为一般的客户端开发提供了坚实的基础(考虑了线程,并发性,可观察性等)。 结果,开发人员可以或应该学习很多东西。 有大量可用的资源,从课程和教程的书籍到书籍。 值得注意的是,例如Scene Builder上的教程(该UI工具允许通过拖动和配置组件而不是对其进行编程来创建JavaFX用户界面)在YouTube上非常受欢迎。

从JDK 11开始,JavaFX将作为独立的模块提供,与JDK分离

最近,Oracle宣布JavaFX模块将与核心JDK发行版分离 。 查看模块化的目标,这很有道理。 Java平台需要模块化系统的核心原因之一是因为该平台自发布以来一直膨胀很多。 许多功能已添加到核心Java发行版(例如Oracle JDK)。 但是,生产中几乎所有的Java项目也都利用了第三方库。 开发人员依靠诸如Ant,Maven或Gradle之类的工具从maven Central或jcenter下载依赖库并管理那些依赖。 这种分发机制的优点是可以进行细粒度的控制,而您不必告诉用户下载您依赖的确切组件的确切版本。

不同的组件以不同的速度发展。 尽管向后兼容性是Java的关键功能之一,但在许多情况下,开发人员都依赖于其应用程序中使用的库的特定版本。 如果该库被硬烘焙到核心JDK中,则将产生严重的后果,因为JDK仍然是您在系统上手动下载并安装的整体软件。

JDK的核心是由非常有才华的工程师维护的精美艺术品。 为了保证此内核的质量,尤其是在快速释放周期中,可以单独维护和释放可以在内核外部维护的所有组件。

因此,将OpenJFX模块与内核解耦一点也不奇怪-内核中还有许多其他模块,这是令人惊讶的。

传统上,JavaFX具有非常强大,广泛且人声鼎沸的生态系统。 有许多基于第三方创建的JavaFX的库,并且JavaFX已移植到不同的平台,包括Oracle外部的嵌入式和移动(Android / iOS)。

因此,将JavaFX的开发移至开放系统是非常有意义的。 GitHub存储库反映了这一想法。 当今的开发越来越多地发生在GitHub上,并且通过邀请第三方开发人员通过GitHub为JavaFX平台做出贡献,JavaFX朝着开放的,对开发人员友好的平台发展。

Java开发社区越来越多地参与Java核心开发并不是什么新鲜事。 AdoptOpenJDK项目是一个由社区组织的计划,已经开展了几年的工作,以基于OpenJDK源创建发行版。

将来,可以利用AdoptOpenJDK基础结构来构建JavaFX模块,并且可以将生成的工件上载到Maven Central和jcenter之类的平台。 Oracle与更广泛的JavaFX社区之间正在就此主题进行讨论。

翻译自: https://jaxenter.com/javafx-separate-module-jdk-142253.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值