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