標準搭載された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解体新書--第5回:ファイル監視を行うFSEvent
-
Leopard解体新書--第4回:Behind the Time Machine
- Leopard解体新書 一覧へ »
-
日本モバイルインターネット端末市場分析 〜2008〜2012年のMID及びスマートフォン...
- POSデータを活用し、売上アップを導く「分析力」とは?
- BIベンダーの選び方 −BIベンダー選定のための評価フレームワーク
- 【導入事例集】多業種から評価されているWeb会議システム、24社の導入事例をご紹介
- CRMの限界を超える!「顧客経験価値マネジメント」実現の5段階
- 企業コスト削減の傾向と対策 〜最新アプローチのトレンド〜
- 【日産自動車:BI導入事例】連結対象の36社からの情報を元に車種別損益管理を実現
- ストレージ問題の課題に対する解決方法
- iPhoneをビジネスで活用する時代へ〜ビジネス&モバイルのミライ〜
- 中堅企業におけるテクノロジーと成長
企画特集
-
企業ITシステムの企画、構築、運用のイロハ
戦略的なITシステムのために、今考えるべきポイント -
【最終警告】パンデミック対策特集
サービス品質を保証するためのリスクマネジメントとは -
グリー、3人のエンジニアが語る仕事への想い
連載第2話、元SIerに聞くリニューアルと開発の舞台裏 -
―エン・ジャパン厳選求人☆毎週更新―
ハンゲームの社長が語る・人材とサービスの在り方 -
100万円で実現!中小企業の情報漏えい対策
中小企業の課題!?セキュリティ管理者不在でも大丈夫 -
マネジメントの「コラム」と「コネタ」
今日のキーパーソンは誰? -
高まるiSCSIストレージへの注目度
ストレージシステムの4つの課題とiSCSI導入のメリット -
電力に"ふた"をする独自の省エネ機能とは!?
動的に電力割り当ても可能なHPの最新鋭ブレードに迫る -
大丈夫?あなたの会社のセキュリティ対策
中堅・中小企業のネットワーク・セキュリティを考える -
J-SOX法制定により内部統制の整備が急務に
重要性高まるActive Directoryの課題と対処法を公開中 -
容量制限によるメール消去は一切無し!
全てを保存するメールセキュリティSaaSが登場 -
急増するオンライン犯罪への解決策!
オンラインサービス保護ソリューション
-
7. ホットスポットと同時並列性分析について
この3分間のビデオは、Intel Parallel Studioの一部であり、アプリケー... -
8. Valarray
この5分間のビデオでは、Intelコンパイラの1次元Valarrayデータ構造に対...
新着企業動向
-
kotobank、収録する辞書情報の一部提供を開始
第一弾 「@nifty辞書」に39辞書・37万語の情...
ECナビ -
情報セキュリティソリューションセミナー(より使いやすいセキュリティ特集)〜セキュリティ...
NRIセキュアテクノロジーズ -
「大江戸セキュリティくろすわーど」好評につき期間延長しました!(11/15まで)
日立システムアンドサービス -
WisePointシリーズ
ファルコンシステムコンサルティング - 企業動向一覧へ»
