標準搭載された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解体新書 一覧へ »
-
【SUN xVM portfolio】ダイナミックなデータセンターのための仮想化プラットフォーム
- 中堅企業におけるテクノロジーと成長
- 企業コスト削減の傾向と対策 〜最新アプローチのトレンド〜
- コード変換、データ加工、DB連携を低価格でするには? 高機能の【HULFT-DataMagic】
- 日本モバイルインターネット端末市場分析 〜2008〜2012年のMID及びスマートフォン...
- 電力消費量を可視化〜!身近なPC管理から始めるグリーンIT統制〜
- コスト・時間・労力を削減し生産性・競争力UP!シスコのWeb会議で、出張せずいつで...
- データセンタとサーバルームの動的な電力変動
- インターネットセキュリティにおける今後の展望’09-’10
- 出し抜かれたログ管理システム――記録に残らない「情報持ち出し術」とは?
企画特集
-
最大32個のセンサーが電力を徹底管理!
『省エネ性能』追求HPx86サーバー徹底レビュー -
【最終警告】パンデミック対策特集
サービス品質を保証するためのリスクマネジメントとは -
求めているのはSIerのエンジニア!!
連載インタビュー第1話、グリーCTO藤本氏が語る -
―エン・ジャパン厳選求人☆毎週更新―
ハンゲームの社長が語る・人材とサービスの在り方 -
大丈夫?あなたの会社のセキュリティ対策
中堅・中小企業のネットワーク・セキュリティを考える -
100万円で実現!中小企業の情報漏えい対策
中小企業の課題!?セキュリティ管理者不在でも大丈夫 -
進むストレージ環境の見直し
仮想環境に最適なiSCSIストレージLeftHandのメリット -
マネジメントの「コラム」と「コネタ」
今日のキーパーソンは誰? -
企業ITシステムの企画、構築、運用のイロハ
戦略的なITシステムのために、今考えるべきポイント -
VMware OEMベンダー6社を独占インタビュー
IBM、HP、NEC、DELL、日立、富士通のVMwareの取り組み -
情報漏えいを食い止める!
証跡としての信用力を高めるメールアーカイブとは? -
急増するオンライン犯罪への解決策!
オンラインサービス保護ソリューション -
J-SOX法制定により内部統制の整備が急務に
重要性高まるActive Directoryの課題と対処法を公開中
-
7. ホットスポットと同時並列性分析について
この3分間のビデオは、Intel Parallel Studioの一部であり、アプリケー... -
8. Valarray
この5分間のビデオでは、Intelコンパイラの1次元Valarrayデータ構造に対...
新着企業動向
-
「韓国ポイント市場の展望と課題」出版
データリソース -
TIS・日本HP・ネクスウェイ共催 “現場力”最大化を見据えた“攻めのIT投資”事例セミナー
ネクスウェイ -
【EMC Mail News】 初期投資ゼロ!月額使用料金だけで利用できる「Avamar従量課金パッケージ...
EMCジャパン -
メールセキュリティSaaS『Mail Luck!セキュアタイプ』
NTTPCコミュニケーションズ(ネットワーク事業部) - 企業動向一覧へ»
