转载

Gluon:在 iOS 和 Android 上运行同一份 Java 代码

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

原文  https://www.infoq.cn/article/johQfGTFpTCl4oa5fu49
正文到此结束
Loading...