Leopard解体新書--第1回:RubyCocoaでWebページ表示 - (page 2)

木下誠(HMDT) 2007年10月25日 16時34分

  • このエントリーをはてなブックマークに追加
  • 印刷

標準搭載された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のためのインタプリタ、つまり対話的に作業するためのアプリケーションだ。

CocoaRepl 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ページを表示させてみよう。ウインドウの大きさを調節してみよう。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

  • このエントリーをはてなブックマークに追加

SpecialPR

連載

CIO
“真FinTech” 地域金融の行方
教育IT“本格始動”
月刊 Windows 10移行の心・技・体
ITアナリストが知る日本企業の「ITの盲点」
シェアリングエコノミーの衝撃
デジタル“失敗学”
コンサルティング現場のカラクリ
Rethink Internet:インターネット再考
インシデントをもたらすヒューマンエラー
エリック松永のデジタルIQ道場
研究現場から見たAI
Fintechの正体
米ZDNet編集長Larryの独り言
大木豊成「仕事で使うアップルのトリセツ」
山本雅史「ハードから読み解くITトレンド放談」
田中克己「展望2020年のIT企業」
松岡功「一言もの申す」
松岡功「今週の明言」
内山悟志「IT部門はどこに向かうのか」
林雅之「デジタル未来からの手紙」
谷川耕一「エンプラITならこれは知っとけ」
内製化とユーザー体験の関係
「プロジェクトマネジメント」の解き方
セキュリティ
セキュリティインシデント対応の現場
エンドポイントセキュリティの4つの「基礎」
企業セキュリティの歩き方
サイバーセキュリティ未来考
ネットワークセキュリティの要諦
スペシャル
デジタル時代を支える顧客接点改革
エンタープライズAIの隆盛
インシュアテックで変わる保険業界
顧客は勝手に育たない--MAツール導入の心得
「ひとり情シス」の本当のところ
ざっくり解決!SNS担当者お悩み相談室
生産性向上に効くビジネスITツール最前線
ざっくりわかるSNSマーケティング入門
課題解決のためのUI/UX
エンタープライズトレンドの読み方
10の事情
座談会@ZDNet
吉田行男「より賢く活用するためのOSS最新動向」
古賀政純「Dockerがもたらすビジネス変革」
中国ビジネス四方山話
ベトナムでビジネス
日本株展望
企業決算
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]