Codename One究竟是如何运行的?

3

我需要评估Codename One,但是我找不到有关其部署如何工作以及最终结果实际上是什么的信息。他们是否将我的Java代码交叉编译为类似于RoboVM的真正本地代码,是否使用类似于Gluon的JVM或是否拥有自己的JVM?


Codename One将所有代码转换为本地代码或本地VM,从而实现与本地代码相匹配甚至超越本地代码的性能。 - MadProgrammer
1个回答

1
您可以查看我的答案以获取更多详细信息,但要点是我们与RoboVM有所不同。
我们将字节码翻译成C语言,并使用xcode编译成本地应用程序。因此,您可以获得完全本地化的应用程序,甚至可以获取源代码并自行编译。由于本地C/Objective-C代码是许多应用程序/游戏使用的iOS官方支持路径,因此这始终保证可用。
RoboVM是Java的LLVM前端。这相当雄心勃勃,而且苹果公司并没有正式支持。这在过去给他们带来了很多挑战,例如这篇文章,其中一位RoboVM员工解释了他们迁移到iOS 9有多么困难...最近的64位转换也是如此。
对我们来说,迁移到iOS 9和64位相对容易,因为我们将JDK使用限制在一组支持的类上以实现可移植性,代码库也更小。
请注意,我们的完整VM在vm树下是开源的here。我们最初使用XMLVM,当RoboVM推出时,我们考虑过转换到它们,但决定编写自己的VM会减少风险。
VM部分是我们解决方案中非常小的一部分,例如我们可以使用TeaVM将您的应用程序翻译成任何东西,包括JavaScript应用程序,它支持JavaScript上的线程。与RoboVM不同,Codename One是真正的一次编写,随处运行的解决方案。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接