写点什么

JRuby on Java ME/CDC

  • 2009-03-04
  • 本文字数:1152 字

    阅读完需:约 4 分钟

在 JRuby 成功的运行于 Android 上之后(通过 Ruboto——Android 对 JRuby 的支持),最近 Charles Nutter 开始尝试将 JRuby 引入到移动 Java 设备上。当前的 Ruboto 以解释的方式执行 JRuby 代码,而 Charles 打算扩展提早编译(AOT)能力以将 Ruby 代码完全编译成 Java 字节码,之后就可以将其转换为适合 Android VM 的字节码了:

同时还打算触及一下即时编译模式,因为我觉得这要比生成 Dalvik 字节码更容易上手。我已经想好怎么做了。你可以通过命令来“完全编译”目标脚本,这样就会创建.class 文件,其中绑定了运行时会生成的所有方法。这个计划在我心中已经由来很久了。借助于“完全编译好”的 Ruby 代码,你可以轻松将其上传到设备中。

另一个重要步骤就是模块化 JRuby:

假设很多人都会交付预编译的代码而很多库无法正常工作,这样我们就需要模块化 JRuby 以识别出不支持的库、解析器、解释器和编译器问题。这会减少二进制文件的总大小,同时我还有其他一些想法来实现这一点。

编译 Ruby 代码并且只使用 JRuby 中需要部分的能力对于资源受限的Java ME设备是尤为重要的,这也是 Charles 在其最近的项目 jruby-cdc 中所要解决的问题。正如之前所讨论的,人们已经在考虑 JRuby on Java ME ,但这绝对是个挑战,因为 Java ME 平台有太多的限制了(相比于 JRuby 的目标平台 Java 5 来说)。

现在人们已经将 JRuby 带到了 Java ME CDC 设备上了(CDC 是 Java ME 的一组配置参数)

“cvm”是 Sun 对一种嵌入式 JVM 的参考实现,而且该特别的包还包含了 PBP 级别的 API。这里我已经将 jruby.jar 从 jruby-cdc 项目中剥离出来了,但需要做一些转换以兼容于 Java 1.3 的字节码。

Rhodes 项目已经对很多移动平台上的 Ruby 提供了部分支持,这是通过 MRI(针对 Symbian 或 Windows Mobile 设备)或针对特定设备(如黑莓)的客户化 XRuby 实现的。剥离了某些特性的 JRuby(可以提早编译为 Java 字节码)当然也可用于 Rhodes 项目了( Rhodes 位于 Github 并且是开源的,这样一旦 AOT 编译可用,我们就可以拿 JRuby 实验了)。

Rhodes 平台一个有意思的地方就是其基于 HTML 的 GUI 环境了,通过扩展它可以访问设备特性,如位置、摄像头等等。其观念类似于针对新WebOS 的Palm ,也就是说使用HTML、Javascript 和其他Web 技术来构建本地应用,区别在于Rhodes 应用的后端可以用Ruby 编写。

Rhodes 的目标在于智能手机,而 JRuby on JME 想要占领低端市场,Charles 指出:

为何烦心?现在仍有不少 Java ME 设备。虽然口袋中的设备可能不是 Java ME,但卧室中的机顶盒或蓝光设备却可能是。技术还很绚烂,只是不如 iPhone 或 Android 那么惹人注意罢了。我们的目标是“Ruby everywhere”,你觉得可行不?

你对 Java ME 或 Android 设备上的 JRuby 有何高见呢?

查看英文原文: JRuby on Java ME/CDC

2009-03-04 23:391108
用户头像

发布了 88 篇内容, 共 271.0 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

极客时间第 0 期架构师训练营第三周作业

2流程序员

架构师训练营week03作业

小高

构架师训练营-第3周命题作业

Dawn

设计模式 极客大学架构师训练营

程序员的晚餐 | 6 月 24 日 微甜的毛豆

清远

美食

第三周设计模式总结

石刻掌纹

模式和重构-学习心得

蒜泥精英

面向对象设计模式课程作业

梅子黄时雨

极客大学架构师训练营

架构师训练营 第三周 个人感想

且听且吟

第三周作业-命题作业

molly

极客大学架构师训练营

创业白皮书 - 开场篇留给情怀

阿甜

创业 重新理解创业 创业心态 创业者

架构师训练营第三周作业

Jerry Tse

极客大学架构师训练营 作业

乘风破浪的5G,与隐藏在深海的EMC暗礁

脑极体

week3 作业二

任鑫

面向对象编程

Axe

聊聊设计模式——上篇

Jerry Tse

随笔 极客大学架构师训练营 作业 23种设计模式

架构师训练营-第三章-作业

而立

极客大学架构师训练营

设计模式学习实践

nihuihua

架构师训练营-作业3

紫极

架构课第三周课后作业

张瑞浩

第三周作业

nihuihua

架构师训练营第3周作业

aoeiuvzcs

设计模式

丿淡忘

单例模式 极客大学架构师训练营 组合模式

作业-组合模式和单例模式

蒜泥精英

架构师训练营-第三周-作业

狂奔嘀兔纸

极客大学架构师训练营

week03作业

Safufu

架构师训练营 - 学习笔记 - 第三周

小遵

单例与组合模式代码实现

Lane

极客大学架构师训练营

设计模式总结(golang版)

2流程序员

第三周学习总结

CP

第三周作业

毛叫

极客大学架构师训练营

第3周 代码重构:代码重构能力是架构师最基本的能力

陆不得

JRuby on Java ME/CDC_Java_Werner Schuster_InfoQ精选文章