快捷搜索:

JRuby 1.0发布:实现JVM对Ruby的兼容

JRuby 1.0刚刚宣布。该项目的代码供献者Ola Bini在博客中写到:

[……]JRuby 1.0是我们项目的一个重大年夜里程碑,我们对1.0版本不停以来的目标便是Ruby的兼容性,而我们觉得这个目标已经实现。当我们望见像ThoughtWorks一样的公司为其供给商业支持的时刻,我们就知道这个敏捷表已经实现了……当然,要留意的很紧张一点便是,JRuby 1.0并非所有Ruby说冥器的遣散者,它并不完美,统统才刚刚开始。现在我们拥有一个异常优越的根基平台可以在之上继承事情,而这才是真公理务的动身点。加入我们吧!这会成为一次很有趣的旅程,而JRuby往后只会越变越好!

这个宣布版本的孕育发生,自代码供献者Charles Nutter和Thomas Enebo被Sun招至旗下之日起历时九个月。其间,别的一名代码供献者Ola Bini也成为了ThoughtWorks帐内一员,致力于JRuby开拓。

这个宣布版以“Ruby兼容”为主打口号,所有和Matz的Ruby实现(MRI)不能兼容的已知JRuby Bug都获得了办理。利用法度榜样基础上可以不加改动直接运行。Charles Nutter在博客中具体先容了JRuby 1.0之后的开拓进程。总结如下:

机能

在以前的一年中,运行速率已经获得了数量级的提升,并且JIT编译器已经实现。开拓团队将继承改良JRuby的运行速率和机能。

Java集成

今朝,我们已经可以调用Java的代码库,实现Java接口,并且扩展Java类,但界限环境照样存在。1.1版本的目标之一便是供给一个从新设计的集成API。

Ruby 2.0及Rubinius

在近期内支持Ruby 2.0和Rubinius字节码的履行是主要目标之一。

Nutter还把触手伸到了社区之中。JRuby是一个社区项目,由社区介入所维系。他明确提到了在RubySpec上做出的努力:

[……]RubySpec是构建一份由社区驱动的Ruby规范的一项努力。RubyDoc供给了对它的链接,并且它很快成为社区记录说话和代码库行径的一种标准要领。我信托这是让我们协作完成关于Ruby行径的一份完备规范的最佳最快的要领……我也信托这样的一份规范正在变得非常紧张,由于现在Ruby存在的5-10个不合的实现,每个实现都在忖度到底什么是“精确”的[……]

与此相关的是,ActiveRecord-JDBC 0.4也跟着JRuby 1.0一路宣布了。ActiveRecord-JDBC是一个用于Rails的ActiveRecord组件的数据库适配器,可以在JRuby中应用。本色上,它能让JRuby on Rails利用应用所有和JDBC兼容的数据库。0.4版加入了以下特点:

对PostgreSQL(Dudley Flander的供献)以及HSQL(Matthew Williams的供献)的支持;

应用DATE对Oracle的光阴戳问题进行修正(和其它数据库相同);

Derby修正:修正了开放结果集问题(open result set issue),更方便地进行布局转存(structure dump)、引号支持(quoting)和变化字段类型;

Sybase类型识别修正(Dean Mao的供献)。

Sun在Ruby上所做的努力并不光是包孕JVM下的运行时。近来6个月内,Sun的Tor Norbye也为Netbeans IDE带来了许多有重大年夜意义的Ruby支持新特点。上周他还加入了查找应用点(Find Usages)和重构支持:

[……]举例说,我盼望把我Rails利用的节制器中的@comments域重命名。我用右键单击一下,然后选择一个新的名称并单击OK。接下来,我单击“预览”,在底部窗口就可以望见一个重构操作的列表,并伴随当前所选项的异同对照。我可以(而且应该!)应用上/下箭头遍历一遍此中的改变,而且我可以在单击重构按钮利用这些改变之前,去掉落我所不爱好的任何变化[……]

这些特点存在于Netbeans最新的开拓构建版本中,可以在nbextras.org中以Ruby IDE的形式找到。此外,你可以在Netbeans Wiki上找到更多的具体安装指南。

您可能还会对下面的文章感兴趣: