【问题标题】:Codename One what happens under the hood代号一 幕后发生的事情
【发布时间】:2016-02-07 13:08:15
【问题描述】:

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

【问题讨论】:

标签: java codenameone robovm gui-builder parparvm


【解决方案1】:

您可以查看my answer here 了解更多详细信息,但要点是我们与 RoboVM 有所不同。

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多