Cocoaでいこう! Macらしく 第1回
Yoshiki(DreamField)
この記事は、 MOSA が発行するデベロッパ向けのデジタルマガジン MOSADeN 第60号(2003年4月1日発行)に掲載された記事です。2〜3ヶ月遅れで、ここに掲載して行きます。

はじめに

Mac OS Xが出た当初、Carbonは中継ぎで、いずれ全てCocoaで開発するようになるのだと思っていました。しかし、その後Carbonは中継ぎでは無くなり、単なるMac OS互換環境から、Mac OS Xの新たな開発環境として発展するようになりました。そして、現在のApple社は、CocoaとCarbonをシームレスに結合し、どちらでも好きな方を、それも一つのプログラムの中で混在させて使えるように努力しているように見えます。従いまして、Carbonに慣れた方は、それだけで組んでいても多分困ることは無いでしょう。新しくCocoaを習得する必要は無いのかもしれません。

でも、それは勿体ないことなのではないでしょうか。Cocoaはとても優れたフレームワークであり、Objective-Cという、これまた優れたオブジェクト指向言語により、習得すればとても短期間に開発を行うことが出来るようになります。プログラム開発の上で、開発期間の短縮はとても重要なファクターです。さらに、機能を拡張する時にも、とても容易に行うことが出来ます。確かに、従来Mac OSでプログラムを組んでいた方々は、既に膨大な量の部品を抱えていますから、今はCarbonで組んだ方が速いでしょう。でも、長い目で見たらどうでしょうか。それに、先ほども書きましたように、CocoaとCarbonは混在させて使うことが出来るのです。従来の知識が無駄になることはありません。それどころか、両方知っている方が、より選択の幅が広がるはずです。

Mac OSでプログラムを組んでいた方々にもCocoaを使って欲しい。そう思ってこの連載を始めることにいたしました。私自身、Mac OSでプログラムを組んでいましたが、Cocoaを使うようになって、本当に良かったと思っています。ただし、Mac OSらしいプログラムを組む時には、色々と不都合もあるのですが、そこも合わせて解説できたらと思っています。もっとも、昨今のiアプリのUIを見ていますと、今後はMac OSらしくないプログラムがデファクトスタンダードになるのかもしれませんが。それはそれ。もしそうなったなら、それはその時に考えれば良いでしょう。とりあえず今回は、CocoaでMac OSらしいプログラムを目指します。

学習の進め方ですが、大抵の入門書では、まずはウィンドウが一枚しか開けないアプリから始めますが、この連載では、いきなり複数のドキュメントを同時に開くことが出来る、Document-based Applicationから始めようと思います。そうでないと、Mac OSらしいプログラムを組めるようになるまでに、凄く時間がかかってしまうからです。特に既にCarbonで組むことが出来る方は、すぐにでも成果を出したいと思うでしょう。それにCocoaには、Document-based Applicationのために便利なクラスが用意されていますので、ある意味、そうでないプログラムとは、組み方の発想そのものを変えないといけない部分もあります。ですから、最初からDocument-based Applicationを勉強した方が、かえって混乱が少ないのではないかと、私は思っています。とは言え、いきなり難しい題材は選べませんから、まずは簡単な画像ビューアを作ることにして、なるべく短期間に骨格を掴んでしまうことを目指します。骨格さえ掴んでしまえば、後は肉付けだけになりますから、ご自分がやりたいことを調べるのが、とても楽になるはずです。

前置きが長くなりました。それでは今日はプロジェクトを作ることから始めましょう。そして、まずはそのままビルドして動かしてみます。Project Builderは、プロジェクトを作ると雛形が出来て、それをビルドするだけで、とりあえずは目に見える形で動かすことが出来ます。CodeWarriorもそうですが、すぐに目に見える形で動かせるというのは、ストレスが溜まらなくて良いですね。

プロジェクトを作ろう

それでは、さっそくプロジェクトを作ってみましょう。プログラム開発に必要な環境はDeveloper Toolsに入っていますから、これをインストールしておく必要があります(この連載では、December 2002 Mac OS X Developer Toolsを使っています。)。まだやっていない方は、最初にそれを行って下さい。インストールしますと、それを行ったハードディスクの中に、Developerという名前のフォルダーが出来ているはずです。この中のApplicationsという名前のフォルダーの中に、Project Builder(fig.01)が入っていますから、これを起動します。

ProjectBuilderのアイコン
[fig.01] ProjectBuilderのアイコン

Project Builderは、今後何回も使うことになりますから、DOCKに保存しておくことを、お勧めします(DOCKが嫌いな方は、お好きなランチャーにどうぞ。)。なお、初めてProject Builderを起動した方は、どういう形で動かすのか、いくつか質問されるはずです。質問の内容が分からない方は、とりあえずはデフォルトのままにして下さい。

Project Builderを起動しましたら、ファイルメニューから「新規プロジェクト...」を選んで下さい。アシスタントという名前のウィンドウが開いて、テンプレートプロジェクトの一覧が表示されます。この中から「Cocoa Document-based Application」を選んで、「次へ」ボタンを押して下さい(fig.02)。

[fig.02] テンプレートのプロジェクト一覧からCocoa Document-based Applicationを選ぶ

ウィンドウの内容が切り替わりますので、プロジェクト名にはTinyViewと入れて下さい。プロジェクトディレクトリはどこを指定してもかまいませんが、指定に悩むようでしたら、書類フォルダーの中にeducationという名前のフォルダーを作って、そこを指定して下さい(fig.03)。この時、直接文字を入力することもできますが、「選択...」ボタンを押して、Sheet Panelからフォルダーを選んだ方がトラブルがないでしょう。入力が完了しましたら、「完了」ボタンを押して下さい。プロジェクトが作成され、それが開きます。

[fig.03] プロジェクト名とプロジェクトディレクトリを指定する

このウィンドウの左上にボタンが並んでいますが、この中の「ビルドと実行」ボタンをクリックして下さい。マウスカーソルを持って行きますと、「アクティブな実行可能ファイルをビルドして実行します」という説明が表示されるボタンがそれです。クリックしますと、ビルドが実行され(ちょっと時間がかかります)、その後TinyViewというアプリケーションが起動するはずです(fig.04)。

[fig.04] TinyViewが起動したところ

まだ、「Your document contents here」と表示されるウィンドウが出るだけですが、Fileメニューから「New」を選べば、このウィンドウが何枚でも表示されますし、「Open...」や「Save...」を選ぶと、ちゃんとPanelが開きます。ただし、まだ Open Panel からは何も選択出来ませんし、Saveしても「Couldn't save document.」と表示されるだけです(支障はありませんので、やってみて下さい。)。

Document-based Applicationでは、ここまで用意されていますので、これをカスタマイズして行くことになります。それでは次回からは中身に手を入れて行きます。

前頁目次次頁