写点什么

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

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

关注

评论

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

AI题库APP的开发框架

北京木奇移动技术有限公司

题库系统 软件外包公司 AI题库

Apple Safari 18.5 - macOS 专属浏览器 (独立安装包下载)

sysin

safari

Blender 入门教程(二):纹理绘制

北桥苏

建模 blender

最新日程!Altair 区域技术交流会华东站:邀您共探仿真智能化实践

Altair RapidMiner

人工智能 AI 数字孪生 仿真 CAE

Apache DolphinScheduler社区答疑Star第三期评选结果公示

白鲸开源

大数据 开源 大数据任务调度 Apache DolphinScheduler

国内到美国的网络问题怎么解决?美国专线网络方案详解

Ogcloud

SD-WAN 美国专线网络 美国网络专线 美国专线 中美网络专线

Shotcut 25.05 (Linux, macOS, Windows) - 免费开源视频编辑器

sysin

视频编辑

什么是im即时通讯?私有化im即时通讯软件优势是什么?

BeeWorks

即时通讯 IM 私有化部署 企业级应用

HyperWorks飞机复合材料结构分析(OptiStruct)

智造软件

仿真 建模 CAE hyperworks 复合材料

你没见过的调度玩法!Zoom首次公开DolphinScheduler创新应用

白鲸开源

开源 Zoom 技术分享 Apache DolphinScheduler

华为音乐携手库客音乐,共筑高品质古典音乐新生态

最新动态

Metasploit Framework 6.4.63 (macOS, Linux, Windows) - 开源渗透测试框架

sysin

Metasploit

博云 AIOS 通过国家工信安全中心测试,产品完整性与功能性获权威认证

BoCloud博云

博云

VMware NSX 4.2.2 发布,新增功能概览

sysin

nsx

CST软件如何截取部分封装或者PCB进行仿真

思茂信息

cst操作 电磁仿真 CST Studio Suite

腾讯云与宝德计算深化战略合作,打造融合创新生态标杆

极客天地

Metasploit Pro 4.22.7-2025051201 (Linux, Windows) - 专业渗透测试框架

sysin

Metasploit

中小企业怎么低成本实现智能改造,数字化转型?

积木链小链

数字化转型 智能制造 中小企业

蒙纳宣布收购韩国知名字体公司DESIGN210,推动高质量字体全球化

财见

【FAQ】HarmonyOS SDK 闭源开放能力 —Share Kit(2)

HarmonyOS SDK

harmoyos

A10 Thunder 6.0.5 - 应用交付与负载均衡

sysin

A10

A10 vThunder 6.0.5 - 虚拟化应用交付控制器 (ADC)

sysin

A10

微店平台中关键词获取商品详情数据采集实例演示

代码忍者

微店API

去中心化云算力重构3A云游戏,元宇宙游戏还会远吗?

PowerVerse

元宇宙 云游戏 去中心化云算力

A10 ACOS 6 - 专为现代应用程序设计的开放式云就绪操作系统

sysin

A10

AI题库APP的开发流程

北京木奇移动技术有限公司

AI技术 软件外包公司 AI题库

SpringAI更新:废弃tools方法、正式支持DeepSeek!

王磊

升级遇到坑?一文带你搞定DolphinScheduler 2.0到3.0升级

白鲸开源

开源 技术 干货 Apache DolphinScheduler 版本升级

Blender 入门教程(一):模型创建

北桥苏

blender

就在下周丨中煤科工、山东临工 、中国农机院、中建科…共探离散元仿真技术新视界

Altair RapidMiner

仿真 CAE 离散元仿真 工程机械 颗粒仿真

AI题库APP的核心功能

北京木奇移动技术有限公司

AI技术 题库系统 软件外包公司

JRuby on Java ME/CDC_Java_Werner Schuster_InfoQ精选文章