3

我必须评估代号一,但我找不到有关部署如何在后台工作以及最终结果实际是什么的信息。他们是否将我的 Java 代码交叉编译为类似于 RoboVM 的真实本机代码,他们是使用类似于 Gluon 的 JVM 还是他们有自己的 JVM?

4

1 回答 1

1

您可以在此处查看我的答案以获取更多详细信息,但要点是我们与 RoboVM 有所不同。

我们将字节码转换为 C 并使用 xcode 将其编译为本机。因此,您可以获得一个完全原生的应用程序,甚至可以获取源代码并自己编译。由于本机 C/Objective-C 代码是许多应用程序/游戏使用的官方支持的 iOS 路径,因此可以保证始终有效。

RoboVM 是 Java 的 LLVM 前端。这是相当雄心勃勃的,Apple 只是没有正式支持。它在过去为他们创造了很多具有挑战性的情况,例如RoboVM 员工的这篇文章解释了他们迁移到 iOS 9 的难度……最近的 64 位转换等也是如此。

对我们来说,迁移到 iOS 9 和 64 位相对轻松,我们的代码库也更小,因为我们将 JDK 的使用限制为一组受支持的类以实现可移植性。

请注意,我们的完整 VM 在此处的 vm 树下是开源的。我们最初使用 XMLVM,当 RoboVM 启动时,我们考虑过切换到它们,但决定编写自己的 VM 会降低风险。

VM 部分是我们解决方案的一小部分,例如,由于TeaVM支持 JavaScript 线程,我们可以将您的应用程序翻译成任何东西,包括 JavaScript 应用程序。与 RoboVM Codename One 不同的是,它是真正的一次编写,随处运行的解决方案。

于 2015-11-02T03:26:05.503 回答