在 Ruby 1.9.0 发布的一年之后,还没见到太多人使用。其中的一些原因包括和流行的程序库及框架的不兼容,以及一些行为的变化等等。 David A. Black 最近发表了一篇博文,介绍了1.9.x 的变化之中开发者们所要关注的部分,以及某些精巧的、可以破坏软件正常运行的方法(InfoQ报道过很多其他的Ruby 1.9 变化)。
现在, Ruby 1.9.1作为第一个稳定发布版,即将正式亮相。 Ruby 1.9.1 RC1 于几周之前推出, RC2 也马上就要发布。就目前的计划,最终的 Ruby 1.9.1 将于一月末正式发布。
稳定的 1.9.1 给了我们一个理由来近距离观察 1.9.x 的运行情况,并期待着速度的提升。一些诸如纤程等特性可以提升可伸缩性(例如用于数据库访问或者I/O 的NeverBlock )或者可以用来做一些变通(例如 NeverBlock HTTP 程序库)。
Ruby 1.9.x 这个版本还能够为项目增添新的特性或者增加 Ruby 的用途。最近报道的 Rhodes 框架( Rhodes 框架的 0.2 版本目前已经发布)就利用到 Ruby 1.9.x 版本中对于一些移动平台的支持来开发无线应用。
另一个实例就是 MacRuby , 它也将会发布新版本。MacRuby 基于 Ruby 1.9.x,关注与 Objective-C 的紧密集成,比如诸如字符串这样的对象实际上就是 Objective-C 的字符串对象。这种紧密集成使的无损调用 Objective-C 的 API 成为可能,而且还可以使用 Objective-C 的垃圾回收器( Objective-C 的 GC(Autozone) 最近已经开源)。
JRuby 的目标就是支持 1.9.x,完整的解析和部分程序库的支持已经实现在1.1.6 之中,其他的实现(MacRuby 除外)对于1.9.x 的支持则还相对滞后。
是什么使你依然使用Rub 1.8.x?哪些Ruby 1.9.x 的特性(性能、纤程、线程上的变化和编码方面的修改等等)会促使你进行迁移呢?
评论