【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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

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

关注

评论

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

Sketch创建自定义快捷的方法 Sketch中文最新版

Rose

sketch Mac Sketch快捷键 Sketch下载

Apple M1芯片软件常见问题的解决方法

魔仙苹果mac堡

常见问题 Apple M1 苹果系统

Mac大扫除!这些App帮你迅速清理不需要的内容,释放宝贵空间

Rose

Mac清理软件 电脑运行缓慢 Mac系统清了 苹果电脑卡机

IntelliJ IDEA 2023主要更新 支持M1/intel/win

Rose

IntelliJ IDEA 2023下载 IntelliJ IDEA 2023破解 IntelliJ IDEA 2023最新

MacFamilyTree 10 Mac版百年族谱,轻松绘制

魔仙苹果mac堡

苹果软件 MacFamilyTree 家族谱软件 MacFamilyTree 10

极客时间运维进阶训练营第九周作业

忙着长大#

极客时间运维进阶训练营第十五周作业

忙着长大#

极客时间运维进阶训练营第十七周作业

忙着长大#

做低代码引擎有多难?OneCode五个版本心路历程

codebee

低代码 低代码开发 低代码平台 低代码报告

WonderPen妙笔for Mac:致力于更好的文字创作

魔仙苹果mac堡

Mac写作软件 WonderPen妙笔

极客时间运维进阶训练营第十一周作业

忙着长大#

极客时间运维进阶训练营第十三周作业

忙着长大#

Git Commit Message 应该怎么写?

AlwaysBeta

git

Go 语言数组和切片的区别

AlwaysBeta

Go 源码 数组 面试题 切片

极客时间运维进阶训练营第十周作业

忙着长大#

极客时间运维进阶训练营第二十一周作业

忙着长大#

Navicat Premium mac用于增强数据库管理系统的优势是什么?

Rose

数据库 Navicat Premium下载 Navicat Premium中文版 Navicat Premium破解版 Navicat Premium15

如何设计艺术字效果和图标?

魔仙苹果mac堡

苹果软件 字体设计 艺术字设计 Mac字体编辑器 字体下载

苹果壁纸软件推荐|Dynamic Wallpaper千余款壁纸任你选择!

魔仙苹果mac堡

动态壁纸 壁纸下载 Mac壁纸app 苹果壁纸

极客时间运维进阶训练营第二十周作业

忙着长大#

MySql序号递增

源字节1号

软件开发 小程序开发

pdf增强插件:Enfocus PitStop Pro 2022 中文激活版

真大的脸盆

Mac PDF Mac 软件 PDF编辑

uniapp 生成微信小程序码

源字节1号

微信小程序 开源 软件开发

prometheus架构介绍及部署使用

忙着长大#

极客时间运维进阶训练营第十六周作业

忙着长大#

简单的录屏软件:ScreenFlow v10.0.9汉化版

真大的脸盆

Mac Mac 软件 屏幕录制 录屏软件 屏幕录像

极客时间运维进阶训练营第十二周作业

忙着长大#

极客时间运维进阶训练营第十四周作业

忙着长大#

前端面试实录CSS篇(最近一周)

控心つcrazy

CSS 面试 前端

极客时间运维进阶训练营第十八周作业

忙着长大#

极客时间运维进阶训练营第十九周作业

忙着长大#

JRuby on Java ME/CDC_Java_Werner Schuster_InfoQ精选文章