我非常感兴趣地关注了RoboVM的iOS开发。有人能指出在iOS上运行时,JavaFX(或者你们使用的任何技术)的限制吗? 比如说,你们能用Spring吗?我猜这永远不可能,因为RoboVM使用预编译器而Spring是运行时依赖注入。有人可以详细说明一下吗? JPA和其他Java EE技术呢?
RoboVM支持大部分JVM的功能,包括Spring用于依赖注入的反射。像RoboGuice这样的东西在RoboVM上应该可以正常工作。最显著的RoboVM不支持的特性是运行时字节码生成和加载。依赖于字节码操作的库将无法在RoboVM上使用。RoboVM还缺少的一个功能是对动态JNI的支持。虽然JNI仍然受支持,但本机代码必须在编译时静态链接,而不是像普通JVM那样在运行时动态链接。原因是普通JNI基于动态库,但iOS不允许动态库。RoboVM的运行时类库(java.*,javax.*等)基于Android的非UI部分运行时类库。因此,在理论上,任何在Android上工作且不使用Android UI类的技术都应该可以在RoboVM上工作。