MacRuby 是Objective-C 运行时上 Ruby 1.9 的一部分(你可以阅读 InfoQ 对 MacRuby 开发者 Laurent Sansonetti 的访谈)。现在一个新的版本, MacRuby 0.2 已经可用。下面摘引部分它的发布说明:
在 MacRuby 0.2 中,所有的字符串、数组和哈希表现在都是基本的 Cocoa 类型,分别表示为 NSString、NSArray 和 NSDictionary 对象。
整个的 String、Array 和 Hash 接口都使用强大的 CoreFoundation 框架在 Cocoa 等效架构之上进行了重写。
[…]
开 发人员不再必须将 Ruby 原始类型和 Cocoa 之间做相互转化。例如,MacRuby 中创建的一个 String 可以再不加转换的情况下被直接传递给一个接 收 NSString 参数的 C 或 Objective-C API。类似的,Ruby String 类的任何方法可以同样从一个来自 Objective-C 的 NSString 中调用。
使用Objective-C数据结构和 String 还会带来一些性能方面的改进。现在已经可以在MacOSforge 下载MacRuby 0.2 。JRuby 开发团队一直在为 JMX而忙碌。Charles Nutter 最近向JRuby 的主版本中添加一些MBean,这使得监视JRuby 的中间变量成为现实。现在,开发者可以察看JRuby 的优化器和JIT 的工作。这使得人发人员可以对某个运行在JRuby 上的应用如何与优化器交互有一个感性认识。此外,随着"–manage"命令行开关的加入,现在可以使用像 JConsole 这样的工具来更好的察看信息。
由 JRuby 团队的 Tom Enebo 所负责的 JMX gem 则沿着另一个方向在努力,即使用 JMX 来导出信息。它使得开发者可以连接到 JMX 服务器并列出导出的 MBeans,最后使用属性或调用操作。另一个具有这一能力的库是 jmx4r 。Tom Enebo 的 jmx gem 还包含了在 JRuby_ 中 _ 定 义 MBean 的能力,所定义的 MBean 随后可以被到一个常规的 MBean 服务器(JMX 自 Java5 亿来一直被包含在 Java 中)。有了这 些,JRuby 应用现在可以将它们自己的监控信息通过 JMX 系统导出,这些信息当然随后可以被诸如 JConsole 这样的工具所浏览。
最后, Sasada Koichi 注意到 Ruby 1.9.0-2 会及时为 RubyKaigi 而发布,也就是在 2008 年 6 月 20 日左右。等到正式发布之时,我们会得到更多关于修改的细节,不过关于 Ruby 主版本修改记录的概览显示,RubyGems 和 RDoc 2.0 都有更新。
另一个可能在这次或未来发布版中出现的变化,是将 test/unit 替换为了 Ryan Davis 的 miniunit 。Ryan 最近发布了 miniunit 1.2 ,并呼吁用户认识到它和 test/unit 的不同。Ryan 解释了如何使用 miniunit:
% sudo gem install miniunit
% sudo use_miniunit yes 第二条命令将会将 symlinks 安装到你的 sitelib 目录中。这发生在 stdlib dir in $LOAD_PATH,所以这不会影响 test/unit。你也可以通过提供"no"作为参数,将 symlinks 转出。这样既容易又安全。这一发布版中加入了许多美妙的东西,主要有:
* 有用的新断言,如 assert_includes
* 每一句断言提供了相反的镜像语句,如 refute_empty ary
* 加入了 mini/spec 和 mini/mock,它们可以和 mini/test 共同使用
对于 Ruby IDE 的开发者以及使用 custom test-runners 的人们来说,需要注意以下事项: > 注意:如果在尝试将 Ruby1.9.0-2 集成到某个 GUI IDE 或像 komodo 这样的 test-runner 时遇到问题,请不要觉得这是 Ruby1.9.0-2 的 bug。Ruby1.9.0-2 并不保证与这些工具的兼容性,而只保证支持你编写的测试本身。
如果你不熟悉 test/unit,那么请和我们一起回顾一下历史,原先 test/unit 是被分离出来做为一个 gem 包。
评论