Gluon宣布,支持同一份 JavaFX 应用程序代码在 PC、Mac、iOS 和 Android 上运行,该支持目前尚处于 Beta 阶段。因此,开发人员可以使用自己熟悉的语言和工具,为每个应用程序而不是每个设备管理一个代码库。
该工具链扩展了 Jose Perada 和 Bruno Borges 在 2015 年所做的工作,他们为 Android 开发了一款名为2048FX的JavaFX游戏。Gluon也是从Java 9开始推动移动Java。对于在 iOS 上运行,Gluon 的工具套件有几个方面值得注意,这些都是通过构建管道自动实现的:
OpenJDK 库是作为针对目标平台编译而成的静态库引入的;
OpenJFX 是面向用户交互的图形框架,适用于所有目标平台;
原生模式的 GraalVM 提供了关键的、针对目标平台构建的运行时。
当和javafxmobile插件搭配使用时,最终结果是 iOS 和 Android 平台上的一个二进制形式的原生应用程序。与典型的桌面或服务器 Java 应用程序不同,iOS 和 Android 应用程序完全是提前编译的、原生的,并且不使用字节码或 Just In Time(JIT)编译。
AOT 编译用于提供对设备的直接访问,启动速度更快。对于基于服务器的应用程序,Andrew Dinn 从技术上对为什么AOT并不一定比JIT快进行了分析。它们都是 Gluon 栈中的选项,而 AOT 是优先选项。
大约两年前,Codename One 首席执行官 Shai Almog 说,“Gluon和RoboVM一样已经死了。”RoboVM 是一个类似的项目,它在移动设备上运行 JavaFX。这种说法与技术人员以及以宣称Java已死(它并没有死)为职业的记者的说法类似。2016 年,Redmonk 认定“Java已死”这种说法已经死了。Almog 关于 RoboVM 的说法是正确的,因为 RoboVM 被 Xamarin 收购了,而Xamarin被微软收购,并集成到了 Visual Studio 栈中。虽然名称已经更改,但文档和资料仍然可用。
希望为 iOS 构建 JavaFX 应用程序的开发人员可以参考 Gluon 的文档。SceneBuilder是一个单独的工具,可以帮助开发人员设计一个在每个平台上运行的用户界面。获得可视化库有许多渠道,其中,Jonathan Giles会定期收集和报道JavaFX活动。Giles 是ControlsFX和Scenic View这两个重要的库的作者。ControlsFX 是一套交互式可视化组件,而 Scenic View 是分析器,可以帮助检查正在运行的图形布局。
原文链接:
Java On iOS and Android via Gluon
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论 2 条评论