標準搭載されたRubyCocoa
さて、本連載の第一回目で取り上げるLeopardの新機能は、RubyCocoaだ。Mac OS Xユーザならずとも、近年のプログラミング業界に興味のある方ならば、気になる存在だろう。
RubyCocoaは、名前の通り、プログラミング言語Rubyから、Mac OS XのアプリケーションフレームワークであるCocoaを操作できるようにしたものだ。Cocoaは、Objective-Cというプログラミング言語から使うように設計されているが、それ以外にも様々な言語が使える。Javaも使えたし、LeopardからはRubyとPythonのブリッジが標準で搭載されるようになった。
もともとRubyCocoaの歴史は古い。2001年に藤本尚邦氏によって開発がスタートした。オープンソースとして多くの開発者を巻き込みながら成長し、2006年のWWDCではLeopardに標準搭載され、Appleがサポートに協力することが発表された。オープンソースの成果を積極的に取り込むとした、Appleの方針がいい形で作用した好例だろう。
RubyCocoaで対話的プログラミング
前置きはこのくらいにして、とにかくRubyCocoaに触れてみよう。RubyCocoaの魅力は、対話的なCocoa開発にある。これは、使ってみないと分からない。
まず、Finderで/Developer/Examples/Ruby/RubyCocoa/を開けてほしい(これは、先ほどの開発環境とともにインストールされる)。ここに、RubyCocoaのサンプルが並んでいる。この中にある、CocoaRepl/CocoaRepl.xcodeprojをダブルクリックして開く。そして、ツールバーにある「ビルドして進行」選ぶ。
すると、CocoaReplというアプリケーションが起動するだろう。これが、RubyCocoaのためのインタプリタ、つまり対話的に作業するためのアプリケーションだ。
RubyCocoaの魅力は対話的なCocoa開発
使い方には、ちょっとコツがある。上部のテキストフィールドにRubyのコードを打ち込んでいくのだが、一行入力したら、[Cmd]+[Return]を押してほしい。これで、そのコードが実行される。単にReturnキーを押すだけでは実行されないので注意が必要だ。または、「Ruby」メニューにある「Eval」や「Eval Line」を使ってもいい。
では、使ってみよう。次のように入力してほしい。各行の終わりでは[Cmd]+[Return]を忘れないように。
window = OSX::NSWindow.alloc.initWithContentRect_styleMask_backing_defer([100, 100, 300, 300], 15, 2, 0)
window.makeKeyAndOrderFront(nil)
これでウインドウが表示されるはずだ。NSWindowというのがCocoaでのウインドウを表すクラスであり、その作成と表示をRubyCocoaで行ったのだ。
次に、このウインドウにWebページを表示させてみよう。ウインドウの大きさを調節してみよう。
関連情報
-
WebKit、HTML 5のローカルストレージ規格をサポート
Leopardには間に合わないだろうが、次期Safariは策定の進むHTML 5のClient-side database storageをサポートする最初のブラウザになるかもしれない。 - 登場間近のLeopardに対応!「Firefox 2.0.0.8」リリース
- ジョブス:iPhone・iPod touchのSDKを2月提供明言
- Apple
- アップルジャパン
「Leopard解体新書」 のバックナンバー
-
Leopard解体新書--第8回:Core Animationで1000 Songsに挑戦
iTunesのアルバムカバーを使ってタワーを作り上げる「1000 Songs」今回はこのデモの再現に挑戦する。 -
Leopard解体新書--第7回:Core AnimationでCover Flowを体験
-
Leopard解体新書--第6回:ファイル管理の可能性を切り開く「Quick Look」
-
Leopard解体新書--第4回:Behind the Time Machine
-
Leopard解体新書--第3回:ブリッジサポート - RubyCocoaの秘密
- Leopard解体新書 一覧へ »
ZDNet Japan Essential Topic
-
セキュリティ事件簿
情報セキュリティをおろそかにすると…… -
Windows 7の情報満載
MicrosoftのすべてがわかるZDNet Japanの総力特集
企画特集
-
インターネット上の悪意を未然に防ぐには?
ブラウザに備わったセキュリティ機能を徹底解説 -
セキュリティ&ユーザ事例【SIer Club】
最新のセキュリティ情報と提案事例が満載 -
そのストレージで仮想化に対応できますか?
メリット盛りだくさんのサンのオープンストレージ製品 -
仮想環境を実現するソリューション特集
仮想化導入時、こんなところ気にしてますか? -
ストレージメディア特設サイト開設
仮想化環境において最適なソリューションを! -
集積度も性能も、業界最高水準のブレードPC
サーバの実装技術を、シン・クライアントへ応用 -
マネジメントの「コラム」と「コネタ」
今日のキーパーソンは誰? -
ロリポップ!がリニューアル
【第1回】創業者の家入一真氏が語る誕生秘話!! -
中小企業のセキュリティリスクとは?
導入する側・される側 得するセキュリティ製品 -
【徹底対談】運用管理ツールの賢い使い方
市場背景〜仮想化管理までアナリストが解説! -
SOA、BPM、SaaS −今、企業に必要なこと
ビジネス・アプリケーションの今を網羅する特設サイト -
ESBでIT投資の無駄を劇的に解消する
IBM IMPACT 2009を徹底レポート! -
今注目の「サジェスト検索」−デモ掲載中
システムのユーザビリティに革命を起こす技術とは -
◆エン・ジャパン厳選求人☆毎週更新◆
不況下でも急成長の秘訣とは?注目企業の取組みも公開! -
パンデミック対策特集
2009年のパンデミック発生から再考する事業継続計画 -
■ストレージ容量50%削減保証■
ネットアップによる削減保証キャンペーン実施中 -
サービス・ドリヴン・データセンター
コスト効果の高いデータセンター構築には? -
エンタープライズにおけるSUSEの強み
次世代データセンターの基盤は11だ。 -
サーバー監視・運用のコストを削減するには
エージェントレス方式を用いたパトロールクラリスで
ZDNet Japanからのお知らせ
- ご回答にはCNET_IDご登録が必要です。
-
13. ソースチェック
この4分間のビデオでは、Intel Parallel Studioの一部であるIntel C++コ... -
14. OpenMP 3.0
この3分間のビデオでは、Intel Parallel Composerで利用可能なOpeMP 3.0...
新着企業動向
-
上位サイトのSEO内部対策状況を一覧表示、無料SEOツール「talabagani.jp」を公開
ディーボ -
After J-SOX 2年目の監査は甘くない!
NTTソフトウェア -
【EMC Mail News】3分でわかる最新ハイエンド・ストレージSymmetrix V-Maxの製品概要
EMCジャパン -
統合ID管理ソリューション
NRIセキュアテクノロジーズ - 企業動向一覧へ»
サーバやOS、アプリケーションなどの世界ではオープンソーススタンダードが市場を牽引する現在、ストレージの世界でもオープン化の流れが始まっている。
幸い今回は弱毒性で大事には至らなかったが、まだ油断はできない。企業活動を停止すると、大きな経済的損害や社会的信用の低下を招いてしまう。 
