写点什么

JRuby 综述:Google App Engine 支持、BiteScript 及新的编译器

  • 2009-04-14
  • 本文字数:856 字

    阅读完需:约 3 分钟

几周前 JRuby 1.2 发布了( InfoQ 对 JRuby 1.2RC1 的报道总览了其变化)。借助于该发布,JRuby 团队现在又开始了新的项目。

现在 Ola Bini 正忙于 JRuby 和 Ioke 的测试工作,它们将用在 Google 新发布的 Google App Engine 的 Java 支持上(请查看 InfoQ 对 Java on GAE 的报道)。Ola 还谈到了 GAE 上的 JRuby 和 Rails 的需求以及建立 JRuby on Rails 应用的方式:

你需要使用最新版的 JRuby。对于 JRuby 来说,自从 1.2 版发布后大多数变化都加到了主干上,因此请先检出最新的代码然后再进行构建。最新版的 Rails 也没什么问题。

因为 GAE 并不支持 RDBMS,所以无须使用 JDBC。 Ola 给出了 Bumble,这是对 Google DataStore 的一个包装器

JRuby 仅仅是 GAE 所支持的众多 JVM 语言中的一个,其他还有 Clojure 及 Rhino(Google维护了支持语言的一个列表)。Ola 还列出了GAE 的一些限制,这些限制会导致JVM 语言出现问题,同时关于反射、线程、字节码验证等方面的一些示例也进行了更新。

与此同时,Tom Enebo 创建了 JRuby-Parser ,它从 JRuby 中抽取出了 JRuby 解析器,凭借这一点,IDE 或其他工具可以使用解析器而无需依赖整个 JRuby。

Charles Nutter 开始着手编写全新的 Ruby 编译器,其目标是将 Ruby 类型编译成 Java 类

* 使用我的字节码 DSL “BiteScript”,就像 Duby 一样 * 使用类的“运行时”定义来生成对应的 Java 版本

第二点很重要。相对于使用离线编译器来检测文件并生成代码,该编译器实际上使用了运行时的类来创建对应的 Java 版本。这意味着我们可以使用通常的元编程工具,这样无论何时,只要编译器得到类,它就能查看到其中的所有方法。

Charles 还发布了一个有用的工具 BiteScript (用于创建字节码的内部 DSL),该工具使用 JRuby 生成字节码。JVM 字节码会映射到 Ruby 方法上,由后者生成字节码;用于创建类和方法的那些 Ruby 方法构成了 API 并采取紧凑的方式来生成 class 文件。

请查看 Charles 关于 BiteScript 发布的声明来了解更多信息。

查看英文原文: JRuby Roundup: Google App Engine Support, BiteScript, New Compiler

2009-04-14 01:061533
用户头像

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

关注

评论

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

【教程直播第4期】揭秘数据迁移之 OceanBase CDC & OMS 社区版能力

OceanBase 数据库

数据库 开源 直播 课程 oceanbase

14 位大咖导师集结完毕,阿里云云原生加速器就等你来

阿里巴巴云原生

阿里云 云原生 加速器 招募活动

精彩回顾 | Serverless Developer Meetup 12.04 深圳站

阿里巴巴云原生

阿里云 开发者 云原生 severless 线下活动

2020年净利暴涨1288%,遨森电商携手DataPipeline构建实时数据融合体系跑出加速度!

DataPipeline数见科技

数据库 大数据 中间件 数据融合 数据管理

Thanos 架构剖析(三)如何选择 Sidecar 和 Receiver

耳东@Erdong

Thanos 签约计划第二季 Sidecar Receiver

元宇宙100讲-0x004

hackstoic

改变生物学研究进程:AI模型打开生命信息密码

脑极体

用户增长模型:AARRR

石云升

AARRR 28天写作 增长黑客 12月日更

精髓 一文带你了解VMware vSphere 网络、vSwitch、端口组!

Ethereal

Dubbo3 Triple 协议简介与选型思考

阿里巴巴云原生

阿里云 云原生 dubbo HTTP 协议

底层逻辑的生命力

卢卡多多

28天写作 12月日更

【docker 总结】第三篇 - Container 容器

Brave

,docker 12月日更

Thanos 架构剖析(一)Thanos 架构总览

耳东@Erdong

架构 Thanos 签约计划第二季

问题远比答案珍贵

mtfelix

28天写作

言简意赅!什么是工业交换机?

Ethereal

KubeDL 0.4.0 - Kubernetes AI 模型版本管理与追踪

阿里巴巴云原生

阿里云 AI Kubernetes 云原生

实验 | OSPF HMAC-SHA 扩展身份验证

Ethereal

OSPF 网络技术 HMAC-SHA 扩展身份验证

为什么人们不喜欢 PHP?

Ethereal

9倍转让,外网疯抢:科技儿童汽车的前景与“钱景”

脑极体

微信朋友圈高性能复杂度

ren

架构师训练营 4 期

如何在 Linux 中更改主机名?运维工程师应该都知道吧!

Ethereal

Linux 运维

【分布式技术专题】「OSS中间件系列」从0到1的介绍一下开源对象存储MinIO技术架构

码界西柚

OSS Minio Minio 集群 文件服务器 12月日更

Go 语言快速入门指南:第二篇 变量与常量

宇宙之一粟

golang 常量 变量 签约计划第二季 12月日更

RingCentral铃盛技术干货精选合集

RingCentral铃盛

敏捷 前端 框架 技术专题合集

广州站 | 云原生 Serverless 技术实践营精彩回顾

阿里巴巴云原生

阿里云 Serverless 云原生 线下活动

手把手快速入门Spring Boot实战系列

小阿杰

SpringBoot 2 内容合集 签约计划第二季

重新定义分析 - EventBridge实时事件分析平台发布

阿里巴巴云原生

阿里云 云原生 EventBridge

5分钟详解什么是Redis?

Ethereal

数据库 nosql redis

Thanos 架构剖析(二)统一的查询入口

耳东@Erdong

Thanos query 签约计划第二季 Query Frontend

Thanos 架构剖析(四)数据存储和运维工具

耳东@Erdong

store tools Thanos 签约计划第二季

Thanos 架构剖析(五)历史数据怎么办

耳东@Erdong

Thanos 签约计划第二季 compactor

JRuby综述:Google App Engine支持、BiteScript及新的编译器_Java_Werner Schuster_InfoQ精选文章