RoboVM会一直兼顾与Objective-C 自动引用计数(Automatic Reference Counting (ARC)) 的相互作用机制。RoboVM会做“正确的东西”,所以你不必想它太难。你需要与ARC交互,RoboVM可以让你做到这些。 绑定到iOS框架和API后会半自动生成。如果你希望为一个存在的iOS库创建一个绑定,你应该使用我们的绑定生成器并根据你的需要修改,迄今为止,我们已经覆盖了所有iOS8.1框架和API的98%。 现在,并不是每一个场景都可以写两个单独的UI层。尤其是在企业中,对快速得到结果有需求,对UI本地观感可以折中,在这个使用案例中,我们在iOS和安卓平台上提供JavaFX。这个方法允许你在两个平台上100%共享你的代码。我们的合作伙伴LogdON确保JavaFX能工作在iOS和安卓平台。 调试器 RoboVM 商业许可证允许你对 Java 调试线协议(JDWP)兼容调试器的访问。JDWP 允许你从 IDE 内部调试 Java 进程。同时,RoboVM 支持 JDWP,因此你可以调试这两个应用程序模拟器与设备。使用你曾经使用的工具。 RoboVM 的实现,一个软件调试器:在特定的安全点上,运行时配合调试器;在用户代码中实现线程暂停,步进,断点和内存检查。在调试模式中,应用程序将通过 TCP 监听命令来旋转一个额外的线程。在另一边的 TCP 通道正坐落着我们的 JDWP 服务器,实现我们自定义的顶部协议以及最小的调试协议。 诸如 GDB 与 LLDB 使用 OS 服务控制进程的替代。实际上,我们从一开始就着手对 LLDB 使用的调查,而不是直接决定反对它。首先,LLDB 是以流程为中心:如果一个线程停止,那么所有别的线程同时也停止。这不兼容 JDWP 的线程中心模式:你可以停止一个或者更多的线程,同时剩下的线程继续运行。决定反对 LLDB 的第二个原因是我们的 JDWP 服务器将必须通过 LLDB 来接管进程。这将避免你调试你的应用程序的本地端,同时也是调试 Java 端。就目前来看,你可以同时从你的 Java Ide 以及 XCode 来调试你的应用程序! RoboVM 调试器允许你能够使用一个正常地 JVM 调试器来编写任何东西:暂停/恢复线程,设置(条件)断点,步进/出/源代码行,在运行时通过 Eclipse 的显示视图或者 Intellij IDEA 的“看表情”对话框来修改变量和调用方法,等等。所有的这工作都是在模拟器上和设备上运行。 IDE 集成 在 Robovm 之上运行的最大原因之一是把 JVM 周围的模具带到 iOS。
在过去的一年里,我们已经关注当前默认开发环境中的 Eclipse。我们 Eclipse 插件(更新url: http://download.robovm.org/eclipse/)支持这两个简单创建的控制台和 iOS 项目。它集成调试和对于一个顺利发展经验的 JUnit 支持。你也可以使用 Gradle 或者 Maven 对 Eclipse 来构建和持续集成。 Android 已经完全转换成基于 JetBrain 的 Intellij IDEA 之上的 Android Studio,。我们已经准备了一个 RoboVM Intellij IDEA 插件的初始版本并且正在努力把它当作 Eclipse 插件来使用。我们认识到支持 IDEA 与 Android Studio 的重要性,特别是在进行跨平台开发的时候。在即将到来的几周内,期待这个领域有更多新鲜事情发生。 最后,还有一些集成 NetBeans 相关的社区工作。 在所有功能实现后,我就能完美结合苹果公司提供的工具。现阶段我们的全部工作集中在整合界面生成器上,一旦完成就可以非常容易的创建 UI 视图。整合后的界面生成器将成为一个商业功能,计划于2015 年发布。 集成构建系统 RoboVM 支持多种构建系统,对于其中的困难,我们就交给 RoboVM 处理,你可以像其它编译器一样通过执行命令进行编译。这样你就可以使用shell脚本,整合RoboVM编译器,用于生产环境。 然而,我们强烈的建议使用已经建好的编译系统!我们创建了专门的 Maven 插件 ,正如 Gradle 插件一样,能让你们的生活相当容易。 进一步,我们提供的项目模板同 IDE 集成一样也包含了 Maven 原型,建立的不再仅仅是 iOS 项目,同时也是跨平台的,可用于 iOS 和 Android 项目。 接下来怎么办?现在,你应该已经对RoboVM 有了一个相当的了解,它如何能帮助你。如果我们激起了你的兴趣,前往我们的文档页面,并立即开始使用!
如果你只是想要查看一下代码,我们建议通过我们的苹果示例应用模版进行查看。 最后,如果你还不满足,你可以从 Github上获得 RoboVM 源码! 关于RoboVM RoboVM 开源项目的目标是使Java和其它JVM语言运行在iOS平台上。RoboVM能够将Java字节码翻译成ARM或X86机器码,直接运行在CPU上无需解释字节码。它的运行环境包括一个基本的Android类库和Java到Objective-C桥,使Java或其它JVM语言能够容易使用本地IOS Cocoa Touch API。 联系方式: Web site: http://www.robovm.com |