QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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:391049
用户头像

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

关注

评论

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

Week05 作业

极客大学架构师训练营

架构师训练营第五周总结

方堃

极客大学架构师训练营

扯淡 Java 集合

CoderLi

Java 后端 hashmap 后台

深入了解kafka系列-消费者

小技术君

kafka flink 消费 kafka Kafka知识点

架构设计篇之面向对象设计

小诚信驿站

架构 架构师 架构分析 刘晓成 架构演进

【架构师训练营 - 周总结 -5】

小动物

总结 极客大学架构师训练营 第五周

极客时间架构师训练营 - week5 - 作业 2

jjn0703

极客大学架构师训练营

啃碎并发(四):Java线程Dump分析

猿灯塔

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

心在飞

极客大学架构师训练营

第5周 - 学习总结

大海

技术选型之缓存、队列、负载均衡

olderwei

极客大学架构师训练营

领域模型为核心的架构设计 初篇

小隐乐乐

领域驱动设计 架构师

Java实现一致性 Hash 算法实现(训练营第五课)

看山是山

极客大学架构师训练营 一致性hash

架构师训练营 Week 05 总结

Wancho

架构师训练营作业 -- Week 5

吴炳华

极客大学架构师训练营

一致性hash算法的实现和平衡性测试

周冬辉

第05周 技术选型-01 学习总结

Jaye

Jira feat. Confluence助力敏捷项目管理

跟YY哥学Jira

Jira Confluence Reports

架构师训练营 - 技术选型

Pontus

极客大学架构师训练营

第五周总结-缓存、消息中间件、负载均衡器、分布式数据库

吴建中

极客大学架构师训练营

一致性哈希算法实现及案例测试,java版

潜默闻雨

一致哈希

鲁米

第 5 周 - 课后作业

大海

哈希表

Axe

实现一致性哈希算法

Aldaron

1. 初识Jackson -- 世界上最好的JSON库

YourBatman

Jackson Fastjson JSON库

架构师训练营」第 4 周作业

edd

架构师训练营 第五周 学习总结

一雄

学习 极客大学架构师训练营 第五周

作业-05-java实现一致性hash算法

梦子说

极客大学架构师训练营

「架构师训练营」学习笔记:第 5 周 技术选型

Amy

总结 极客大学架构师训练营 消息队列 分布式缓存 第五周

深入了解kafka系列-生产者

小技术君

kafka Kafka知识点

JRuby on Java ME/CDC_Java_Werner Schuster_InfoQ精选文章