RubyからMac OS Xネイティブ機能にアクセス
前回まではRubyを使って、WebページやPDFを表示したり、Quartz Composerを再生させたりした。これらの機能は、Web Kit、PDF Kit、Quartz Composerといった、Mac OS Xのフレームワークにアクセスすることで実現している。今回は、この周辺を解説しよう。
Mac OS XをMac OS X足らしめているものは何かと問われれば、もちろんたくさんの答えがあるわけだが、アプリケーションを作るという立場から見ると、それはフレームワークだろう。フレームワークとは、ある機能の集合だと思ってもらえばいい。たとえば、CocoaやCarbonがあり、QuickTimeやWeb Kitがある。Leopardでは、Core Animationも導入された。これらのフレームワークを使って、Mac OS Xらしい、魅力的なアプリケーションを作れるのだ。
フレームワークを使うには、基本的にある特定のプログラミング言語からアクセスすることになっている。Mac OS Xの場合、使われるのはC言語とObjective-Cだ。特に、近年はObjective-Cの重要性が高まっており、これをプライマリな開発言語と呼んでもいいだろう。
しかし、世の中にはとても多くのプログラミング言語がある。それぞれに利点と欠点があるし、個々人の好き嫌いもあるだろう。それなのに、Objective-CからしかMac OS Xのすべての機能を利用できないのは悲しい。そこでLeopardからは、この問題を解決する技術が導入された。ブリッジサポートである。