ここからは、現在開発中の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)などが対応中とのこと。