IronRuby项目概述及进展

开发
由于IronRuby是与.NET集成在一起的,因此你可以在IronRuby中调用任何已有的.NET代码。这意味着可以在IrongRuby中使用任何 框架,比如Windows Forms、WPF或者GTK(#),因为.NET和Mono(分别)拥有对这些框架的CLI绑定。

微软在MIX'07上就宣布了IronRuby,然而两年后我们仍然没有看到1.0版。2008年1月,InfoQ曾经采访过John Lam,当时John表示他们会在2008下半年发布,但***却没有实现。

作为开发人员,我们当然知道构造软件通常都会比你认为的要费时间。

IronRuby项目的程序经理Jimmy Schementi在OSCON 2009上做了题为“IronRuby 0.9”的讲演,他概述了微软在IronRuby 1.0上的进度。自从2008年采访John Lam之后,IronRuby已经又前进了许多,其中有一些值得我们回顾:

IronRuby 0.6

于2009年7月发布,是一个非常重要的里程碑。Jimmy在他的博客中写道:

性能是这个版本的主要关注点,启动速度更快了,内建类型也得到了优化。Ruby的兼容性(可以跑Cucumber了!)以及与.NET的互操作得到了极大的改善。

IronRuby 0.9

Jimmy在OSCON上的讲演主要是关于此版本的,这个版本将会包括***一组主要特性。Jimmy在最近的一篇博客中对此做了描述,其中包含了IronRuby的关键组件以及这些组件对开法人员的意义。

跨平台、跨浏览器的Ruby实现:

任何时候当人们听到.NET的时候,他们立刻会想到“Windows"。但是Miguel和Mono团 队证明这并非事实。他们构建了一个开源的.NET实现,可以运行在Linux、Mac OS和Windows系统上。他们还构建了开源的Silverlight 2,叫做Moonlight,这样Silverlight程序就可以在使用Mozilla插件体系的Linux浏览器上运行了。Silverlight 2本身可以运行在使用Intel处理器Mac和Windows系统上。由于IronRuby可以运行在.NET和Silverlight上,因此也可以运 行在Mono和Moonlight上。

由于IronRuby是与.NET集成在一起的,因此你可以在IronRuby中调用任何已有的.NET代码。这意味着可以在IrongRuby中使用任何 框架,比如Windows Forms、WPF或者GTK(#),因为.NET和Mono(分别)拥有对这些框架的CLI绑定。Mono甚至有一个使用GTK实现的Windows Forms,这样应用程序无须修改就可以运行在两个实现上。

动态语言与静态语言的互操作

IronRuby与.NET框架集成的非常紧密,在IronRuby中调用C#/VB代码不会感觉是在使用“互操作”。C#也可以通过DLR Hosting API调用IronRuby代码。而在.NET 4.0中,动态方法分配已经成为了C#的一部分,因此在C#中调用IronRuby代码和调用C#方法差不多。由于IronRuby基于DLR,因此也可 以方便的与其它DLR语言进行交互,如今Python和Ruby可以很好的合作,未来的DLR语言也一样可以。

性能方面的改进非常明显,Ruby on Rails的启动时间从80多秒下降到20秒左右。另一个值得注意的是,目前IronRuby可以运行RubySpec测试了:

兼容性是一个重大的改进。每次check-in时,我们都运行RubySpec测试,通过率是85%。这些测试来自于流行的Ruby框架,包括Rails、Rake、RSpec和RubyGems。不断增加的兼容性bug,将是通往1.0路上要解决的主要问题。

此外,该版本还支持Win32OLE库,这使Ruby程序可以与COM进行交互,就像MRI上运行的Watir那样。

性能与其它Ruby实现做了比较,如MRI:

性能方面的表现也很好。在Ruby benchmark suite测试中,***版本在几乎整个测试中都有MRI两倍以上的性能表现。

IronRuby 1.0

IronRuby 1.0到底什么时候才能发布?这取决于整个社区。我们将会在0.9的子版本(0.9.1,0.9.2……)中持续改进,直到社区认为IronRuby 1.0可以发布。

IronRuby官方网站: http://ironruby.net/

 

【编辑推荐】

  1. JRuby核心开发人员跳槽 称Sun前途不明朗
  2. Ruby on Rails 2.3.3发布 主要修复Bug
  3. 浅谈Ruby和JRuby的学习
  4. 使用JRuby开发Web Service全攻略
  5. JRuby On Rails安装配置详解
责任编辑:佚名 来源: InofQ
相关推荐

2010-04-08 15:40:16

Windows组策略

2014-11-04 15:29:00

KubernetesDocker

2009-08-28 15:07:31

C#线程

2009-08-05 18:53:03

标准查询操作符

2019-05-28 16:09:52

Docker

2009-07-20 14:14:03

PowerDesign

2009-09-04 18:00:54

C# Main方法

2022-05-30 07:57:06

密态等值查询数据库

2010-01-14 16:03:00

局域网交换机

2010-01-04 13:31:13

Catalyst 19

2016-12-29 10:42:30

零搭建概述标签

2022-05-10 10:02:51

openGauss性能调优数据库

2011-08-03 11:10:03

布线管理软件综合布线

2017-06-14 10:53:58

spring-data快速入门

2023-06-19 10:32:49

持续学习

2010-04-15 09:38:00

IronRuby

2014-03-14 15:17:44

万国数据灾备白皮书

2011-03-21 17:06:31

QtmediahubQMLQt

2011-03-21 09:05:40

IronRubyWindows Pho

2010-08-17 09:38:35

IronRubyIronPython
点赞
收藏

51CTO技术栈公众号