代号在引擎盖下发生了什么

时间:2015-11-01 23:30:15

标签: java codenameone robovm gui-builder parparvm

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

1 个答案:

答案 0 :(得分:1)

您可以看到get the source code了解更多详情,但要点是我们与RoboVM有所不同。

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

RoboVM是Java的LLVM前端。这是一个相当雄心勃勃的东西,苹果公司并没有正式支持。它在过去为它们创造了许多具有挑战性的情况,例如:来自RoboVM员工的here解释了他们迁移到iOS 9的难度......对于最近的64位转换等也是如此。

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

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

VM部分是我们解决方案的一小部分,例如我们可以将您的应用翻译成任何内容,包括JavaScript应用,感谢{{3}}支持JavaScript上的线程。与RoboVM不同,Codename One是真正的Write Once Run Anywhere解决方案。