RoboVM 是一个能够将 Java 字节码转换为原生 ARM 或者 x86 代码的 AOT 预编译器 / 平台,转换后的代码无需其他解释器或者虚拟机就能够直接运行在目标 CPU。创建 RoboVM 的目标是使得开发能够在 iOS 设备上使用 Java 和其他 JVM 语言(如 Scala 、 Clojure 和 Kotlin 等)开发 iphone 和 ipad 应用。近日,从 RoboVM 的官网得知,RoboVM 1.0 正式版发布,同时还公布了商用许可协议。该版本带了许多新特性,如实现了所有JDWP( Java Debug Wire Protocol )、 RAM 缓存的支持、HFS+ 文件压缩的支持等,同时还修复了大量 Bug。主要的改进内容如下:
- 调试器经历了新一轮的更迭,现已实现所有 JDWP 功能
- RAM 缓存的支持,这将有助于加速硬盘上的编译和连接过程
- 支持 HFS+ 文件压缩,放入缓存的所有文件将会被压缩,将
进一步加速编译过程和减少 RoboVM 缓存所需空间 - 始化的工程模板,且支持 Maven 原型
- 引入了使用模板工程来实现新 Eclipse 工程向导
- 支持通过robom.xml 调用工具,目前,已实现对 TextureAtlas 的支持,其他的相关工具也将很快支持
- 清理并简化了同 Objective-C 的绑定(Binding),关于具体绑定状态信息,请读者查看绑定状态页面。
RoboVM 1.0 版本发布的同时,官方还公布了商业许可协议,协议对象包括个人开发者、创业者、中小企业与大企业。开发者能够获得的功能和服务包括支持模拟器和设计设备上进行调试的调试器、故障报告功能的改进、有或没有 SLA 的情况支持私人电子邮件、对 JavaFX 的支持、对 Hotfix 的支持等。具体价格相关信息和不同价格具有不同功能信息,请读者参考官方提供的相关信息。
1.0 版本标志着一个重大的里程碑,但是其开发团队继续积极开发着,即将发布的改进内容包括:
- 完善文档、用户指南和视频教程
- 完全实现对 Intellij IDEA & Android Studio 的集成,基于 Gradle 的初步插件已经可用
- 同 Interface Builder 的集成计划于 2015 年第二季度作为商用版本功能发布
- 支持扩展(动态库)以支持外设如苹果手表
- 支持 RoboVM 到 Object-C 应用的静态链接
RoboVM 是一个使用 Apache 许可的开源项目,同时还是一个商业项目,源码托管在 GitHub 。RoboVM 作为一个平台,它具有的组件包括 AOT 预编译器、运行时环境、Java 类库、易于扩展绑定iOS 的API、调试器、同IDE 集成的插件、同构建系统的集成组件等。更多关于RoboVM 的信息,读者还可以阅读InfoQ 发布的一篇题为《另辟蹊径创建移动应用》的文章以及GitHub 上的 Wiki 文档。
感谢郭蕾对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。
评论