Snow LeopardレディなRuby処理系「MacRuby 0.5」

海上忍
2009-12-16 17:57:01
Appleが関与しているオープンソースプロジェクトといえば、WebKitにCUPSという名前はすぐに思い浮かぶはず。そしてもう1つ忘れてはならないのが「MacRuby」だ。
最新特集【一覧】

 Laurent Sansonetti氏が率いる「MacRuby」プロジェクト。簡潔に言えばObjective-Cランタイムで動作するRuby処理系だが、すべてのRubyクラスはNSObjectのサブクラスということで、Ruby+RubyCocoaを利用するより「Cocoa/Objective-Cらしい」コードを記述できる。

 そのMacRuby、10月にリリースされた最新開発版「MacRuby 0.5 Beta 1」で大きく前進。VMは本家1.9系のYARVからLLVMに変更、JITおよびAOTでのコンパイルが可能になった。Global Intepreter Lock(GIL)の廃止やネイティブスレッド対応、そしてSnow Leopardの目玉であるGCDのサポートなど、新機能が豊富に盛り込まれている。最新版のBeta 2では、RubySpecとの互換性向上に加え、AOTコンパイラの強化、独立動作可能なアプリケーションバンドルの生成を容易にする支援ツール「macruby_deploy」の追加が行われている。

 なお、MacRuby 0.5をインストールすると、/Developer/Examples/Ruby/MacRubyにいくつかのサンプルがコピーされるが、そのうちHotCocoaは正常に機能しない。こちらにリストアップされているので、次のリリースで修正されることを期待しよう。

Flickr Demo MacRuby 0.5に付属のサンプル「Flickr Demo」。実行ファイル部分はコンパイル済のバイナリ(Mach-O 64bit)だ