【レポート】
Leopardの登場以降、Mac OS Xではスクリプティング言語環境のサポートが活発だ。それは、単に動作環境を標準インストールすることにとどまらず、CocoaやQuartzといった、Mac OS Xネイティブのフレームワークにアクセスする手段が提供されることで、デスクトップアプリケーションを作るための新しい道という位置づけがなされている。Rubyに関するものとしては、RubyからCocoaを含む様々なフレームワークへのブリッジを提供する、RubyCocoaが標準でインストールされている。
そして去る2月28日に、新しいRuby環境が登場した。MacRuby である。MacRubyの動機として挙げられているのは、RubyCocoaが抱えている問題を解決する、というものだ。RubyからCocoaへアクセスするという目的はRubyCocoaと同じものだが、その実装のアプローチはかなりユニークで意欲的なものになっている。
果たして、MacRubyの採用した手法は、どのようなものなのか?その実装を、詳しく紹介しよう。単にCocoaにアクセスできるだけでなく、Ruby環境を改善する可能性を秘めていることも分かるはずだ。
まず、MacRubyのダウンロードとインストールを行おう。
現在、MacRubyはソースコードでの提供となっている。バイナリはないので、自分でコンパイルする必要がある。動作環境は、Mac OS X 10.5.2以降。Intelプラットフォームのみのサポートとなる。
ソースコードは、Subversionリポジトリから取得する。手順は、こちらの「InstallingMacRuby」に記述されている。この手順に従って、Subversionからのダウンロード、バイナリのMakeおよびインストールを行えばいい。さらに、XcodeでMacRubyアプリケーションを開発するための、テンプレートもインストールできる。
MacRubyのバイナリは、/usr/local/bin/rubyにインストールされる。純正のRubyのパスは/usr/bin/rubyになるので、必要に応じて使い分けよう。
ダウンロードしたソースコードをざっと見てみると、Rubyランタイムのソースコードであることに気づく。そこに、MacRuby用の拡張が加えられているのだ。つまり、MacRubyはベースにはRubyのランタイムを使っており、いくつかのポイントでObjective-Cのランタイムを使うようになっている。
ちなみに、ソースコード上での変更箇所は、#ifdef WITH_OBJCでマークされている。これを追いかけて行けば、MacRubyでの変更箇所が分かるだろう。
| リンクス、5600DPIのレーザーセンサーを搭載した8ボタンゲーミングマウス [16:51 2/10] |
| アスク、USBトークンキーをセキュリティキーとしたポータブルHDD2モデル [16:50 2/10] |
| 【特別企画】2012年 VAIO春モデルカスタマイズポイント ~VAIO Z編~ [15:44 2/10] |
| より多くのファイルをプレビュー表示できる「FenrirFS 2.3」が公開 [15:00 2/10] |
| ストーム、省スペースPCにLinux搭載の「Storm Book Tower LS Linux Edition」 [14:59 2/10] |
|
カシオ、子供の入園/入学にぴったりな[お名前・似顔絵シール]印刷サービス [17:38 2/10] 家電 |
|
TVウォッチャーの芸能まるごと1週間 - メイサ&赤西結婚、花子妊娠に沸いた [17:10 2/10] エンタメ |
|
竹達彩奈、デビューシングル「Sinfonia! Sinfonia!!!」を4/11にリリース [17:02 2/10] ホビー |
|
一緒に住むのをためらってしまう相手のクセとは? [17:00 2/10] キャリア |
|
日産、スカイラインクーペ特別仕様車「55th Limited」を55台限定発売 [16:54 2/10] ライフ |