ここからは、現在開発中のRubyCocoa 1.0を中心に見ていきます。

RubyCocoa 1.0最大の特徴は、BridgeSupport(*4)対応といえるでしょう。Mac OS X Leopardでは、RubyCocoaプロジェクトから派生したBridgeSupport機能が標準搭載される予定です。BridgeSupportに対応したRubyCocoa 1.0では、利用可能なフレームワークが大幅に増えています。

RubyCocoa 0.5 (2006年12月)で利用可能なMac OS Xフレームワークは以下の6つでした。

  • Foundation
  • AppKit
  • AddressBook
  • WebKit
  • Core Data
  • QTKit

BridgeSupport対応後の現時点(2007年7月25日現在)では、これに加えて、以下のフレームワークも利用できます(Tigerの場合)。

  • Core Foundation
  • Core Graphics
  • ImageIO
  • InstantMessage
  • OpenGL
  • PDFKit
  • Quartz
  • Quartz Composer
  • QuartzCore
  • SyncServices

Mac OS Xがバージョンアップすると新しいフレームワークが加わります。例えばLeopardでは、アニメーションを使ったユーザインタフェースの作成をサポートするCore Animationというフレームワークがおもしろそうです。RubyCocoa 1.0では、そのような新しいフレームワークがすぐにでも利用可能です。サードパーティ製フレームワークについても、BridgeSupportのコマンドを使ってメタデータを生成することにより、フルに利用することが可能です。

  • 利用可能なMac OS Xフレームワークの増加
  • 新しいフレームワークがすぐに利用可能
  • サードパーティによるフレームワークを簡単な手続きで利用可能

これらがBridgeSupport対応による効果です。

*4 BridgeSupport
Mac OS XフレームワークのAPIに関する情報のうち、そのままでは実行時に情報を得ることが困難・不可能なもの(関数やメソッドの型・インライン関数・定数・構造体など)を、あらかじめフレームワークごとにメタデータ(XMLファイル)として保存しておき、実行時に利用可能にするための仕組み。メタデータ生成のためのコマンドも含まれている。RubyCocoa 0.9上で実装され、0.11で別プロジェクトに分離。現在では、RubyCocoaとPyObjC(Python)の他に、CamelBones(Perl)などが対応中とのこと。