5

我怀着极大的兴趣一直关注 RoboVM 进行 iOS 开发。有人可以向我指出在 iOS 上运行时您的 JavaFX(或您使用的任何技术)的限制吗?

例如,您可以使用 Spring 吗?我想这永远不可能,因为 RoboVM 使用了提前编译器,而 Spring 是运行时依赖注入。有人可以详细说明吗?

JPA 和其他 Java EE 技术怎么样?

4

1 回答 1

8

RoboVM 支持您对 JVM 的大多数期望,包括反射,这是 Spring 用于其依赖注入的。像RoboGuice这样的东西应该可以在 RoboVM 上正常工作。

RoboVM 不支持的最显着特性是运行时字节码的生成和加载。依赖字节码操作的库将无法在 RoboVM 上使用。

RoboVM 缺少的另一件事是对动态 JNI 的支持。JNI 仍然受支持,但本机代码必须在编译时静态链接,而不是像普通 JVM 那样在运行时动态链接。原因是普通的JNI是基于动态库的,而iOS上不允许使用动态库。

RoboVM 的运行时类库(java.*javax.*等)基于 Android 运行时类库的非 UI 部分。因此,任何适用于 Android 且不使用 Android UI 类的技术理论上都应该适用于 RoboVM。

于 2013-10-23T18:32:26.810 回答