Iva*_*var 5 jvm jruby clojure ios codenameone
CodenameOne支持将Java代码编译为本机iOS二进制文件.它是否支持其他基于JVM的语言,如Clojure或Jruby?
不是开箱即用的,但它确实是可能的。过去,Steve移植了 Mirah,它是在 Codename One 上运行的 Ruby 子集。这是我们使用旧虚拟机时的情况,但也应该使用新虚拟机。
不久前,一名社区成员也能够移植 Haxe,但我不确定这最终在哪里。
移植 JVM 语言时的主要争论点是 Codename One 不支持反射,因此生成反射代码的鸭子类型语言实现将是“有问题的”。
避免反射的原因很简单,代码大小会极大地增长,从而有效地抵消了较小的手工编码虚拟机的许多优点。在 AOT 环境中优化反射代码也相当困难,因此与 JIT 相比,它的性能会很差。
许多反射的使用可以提前用字节码操作代替,这样虚拟机就可以像标准 Java 代码一样工作,即使它不是。
我们通常喜欢在代号一之上运行其他语言的想法,并且愿意在您遇到问题时提供帮助。我们自己不花时间在这些事情上的主要原因是为了保持我们的注意力集中。