写点什么

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

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

关注

评论

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

会声会影2022美颜功能介绍 教你玩转视频美颜

懒得勤快

2022年1月视频行业用户洞察:假期影响下活跃用户开始回升

易观分析

移动视频 视频app

网络安全kali渗透学习 web渗透入门 如何进行NESSUS漏洞检测

学神来啦

黑客马拉松(Hackathon)是什么?

Speedoooo

黑客马拉松 黑客松

晟盾科技加入龙蜥社区,共建开源新生态

OpenAnolis小助手

Linux 开源

迁移学习综述与未来展望 | 社区征文

战场小包

人工智能 迁移学习 新春征文 2月月更

网络损伤工具大乱斗

声网

Dev for Dev 网络损伤 网络仿真 网络与传输

提权方式及原理简介(面试)

喀拉峻

黑客

netty系列之:EventExecutor,EventExecutorGroup和netty中的实现

程序那些事

Java Netty 程序那些事 2月月更

AI安全技术总结与展望| 社区征文

herosunly

人工智能 新春征文 2月月更

学生管理系统模块4作业

刘洋

#架构实战营 「架构实战营」

你知道MySQL InnoDB 的内存组件有哪些吗?

程序猿阿星

MySQL MySQL InnoDB Buffer Pool

会声会影2022重磅发布!会声会影2022全新功能详解

懒得勤快

如何理解用户的行为?

石云升

产品经理 用户研究 用户模型 2月月更

【漏洞分析】反序列化漏洞

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

Bloom Filter 优化- CrimsonDB系列论文(一)

Emc

存储 LSM-Tree

【架构训练营-模块三】

默光

架构训练营5期

浅谈 AI 物联网基础常识 | 社区征文

liuzhen007

AI 新春征文 2月月更

记录一些Oracle操作命令

wong

oracle

当前主流视频编码技术浅析| 社区征文

王强

视频编解码 新春征文

虎符Hoo研究院:Cosmos是如何实现链与链的“港口”相连的?

区块链前沿News

Hoo 虎符交易所 虎符研究院 Cosmos

系统学习 TypeScript(一)——认识 TypeScript

编程三昧

typescript

《数字经济全景白皮书》数字冰雪篇 重磅发布

易观分析

数字经济 冬奥会

数据同步与缓存一致性问题

Mars

布隆过滤器 缓存一致性

再谈 AI 及未来的趋势 | 社区征文

宇宙之一粟

AI 新春征文 2月月更

面试突击24:为什么wait和notify必须放在synchronized中?

王磊

面试 java面试

基于CC2530(ZigBee设计)的温度报警器

DS小龙哥

2月月更

医疗保健行业如何从区块链中受益?

CECBC

从冬奥看中国科技(六):千里光伏初长成

脑极体

安卓隐私沙箱来了!Android Privacy Sandbox简介

XCG00

android

模块 8 作业

miliving

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