タイトル【今から始めるCocoaプログラミング】最初のアプリケーション(1)プロジェクトを用意するカテゴリーProjectBuilder/Interface Builder, 今から始めるCocoaプログラミング
作成日2000/12/12 19:17:26作成者新居雅行
Cocoaでのプログラミングを紹介するコーナーでは「最初のアプリケーション」というシリーズをスタートさせる。このコーナーの方針は、Mac OS Xでのネイティブなソフトウエア実行環境Cocoa向けのアプリケーションをJavaで作成するというものだ。それを最初の一歩から解説を試みたい。Mac OS X Public BetaとDeveloper Toolsをインストールして、ぜひともいっしょにプログラム作成をしてみてもらいたい。「最初のアプリケーション」は、Interface Builderを使って、いちばん簡単にアプリケーションを作成する道筋を見極めるというものだ。
ここで、Project BuilderとInterface Builderの役割分担についてまずは簡単にまとめておきたいが、実はこの役割分担の違いを理解することがポイントになる。実際に作業をしながらそこのところは注意を払っていただきたい。まず、現代の開発ツールでは当たり前になったIDE(統合開発環境)だが、それに相当するのがProject Builderだ。プログラムのソースファイルの作成や編集を行ない、ライブラリやリソースなど使用するさまざまなファイルを管理する。そうした管理を行なうために、プロジェクトという文書ファイルを作成するのだが、それがまさにソフト名になっている。さらに、コンパイルして、アプリケーションなどの実行可能なファイル群を構築する(ビルドする)。そして、プログラムのステップ動作や停止をコントロールしながら変数値を確認するなどのデバッグ動作も行なう。もっとも、コントロールやデバッグは別のプロセスをProject Builderが起動するため、実際のプログラムは外部のものを利用する。たとえば、Javaのコンパイルには、Java2 SDKのjavacを使うといった具合だ。
Interface Builderは基本的には、Project Builderから呼び出して使うのが一般的だ。テキストのプログラムはProject Builderで編集を行なうのに対して、Interface Builderは、ウインドウやダイアログボックス、メニューと言ったビジュアル要素を、目に見える形式に極めて近い形態で編集することができるツールだ。たとえば、ウインドウはウインドウとして見えており、テキストフィールドやボタンをツールパレットからドラッグ&ドロップでウインドウに配置できる。配置したオブジェクトはボタンならボタンとして見ており、ドラッグして位置を移動したりできる。つまり、プログラムとして実行したのと同じ結果を見ながら設計もできるというものだ。こうしてInterface Builderで行なったユーザインタフェースの定義を、Project Builderで作っているアプリケーションで利用できるのである。
しかし、Interface Builderの機能はこれだけに留まらない。プログラムの要素であるクラスをInterface Builder側で外枠(インターフェース部分と言うのが正しいだろう)を定義し、そこでいきなりインスタンス化する。そして、ウインドウ内のさまざまなオブジェクトとの連係を定義できるのである。こうした定義ももちろん、Project Builderで作っているアプリケーションで利用される。ドラッグして線で結ぶというあの辺りの一連の機能があり、この部分の理解はCocoaアプリケーションを作成する場合には大きなポイントとなるだろう。

ではさっそくProject Builderを使ってみよう。Project Builderは/Developer/Applicationsにある。いきなりプロジェクトを1から作るのではなく、まずはひな形を利用して、それに手をいれるという手法を取る。(というか、最近ではむしろ1から作ることは少ないかもしれない。)Project Builderを起動したら、FileメニューからNew Project(Command+shift+N)を選択する。すると、次のようなダイアログボックスがあらわれる。ここではプロジェクトの種類を選択する。Cocoaは3つあるが「Cocoa Applications」は基本的なひな形であり、Objective-CでもJavaでもかまわない。Document-based Applicationは、文書ファイルを扱う形式のもので、JavaとあるのがJava言語向け、ついていないのがObjective-C向けである。
◇新規に作成するプロジェクトを選択する
 

ここではCocoa-Java Document-based Applicationを選択する。文書ファイルまでは作る必要はないという気もあるのだが、後々、こちらの方が楽なので、とりあえず今回はこれを使うことにしよう。
Nextボタンをクリックすると、黒い箱が登場する…なんてことはなく、次のようなダイアログボックスに変わる。ここでは、プロジェクトの名前とそのフォルダ位置を指定する。プロジェクト名のフォルダが作られ、そこにいくつかのファイルやフォルダがひな形に応じていきなり作成されるというわけだ。このままホームフォルダにプロジェクトを作成するのであれば、手順的には、Project Nameにプロジェクト名を入れて、Finishボタンをクリックすればいい。Setボタンはフォルダとプロジェクトフォルダの両方をダイアログボックスで指定することになる。
◇プロジェクト名と新たにフォルダを作るフォルダを指定する
 

こうして、プロジェクトが作成されるが、基本画面は次の図のような、1つのウインドウで分割されたものだ。ファイルごとに異なるウインドウで表示することも不可能ではないが、とりあえず、1つのウインドウで作業をする方針で使いこなしてみることにする。
◇プロジェクトが作成された
 

Project Builderでは複数のプロジェクトを同時に処理するなど複雑なことができるが、ここではシンプルに1つのプロジェクトを使うということでポイントを説明したい。まず、左側はプロジェクトに登録されているファイルなどのリソースが一覧されている。フォルダが見えて、分類されているが、実際のディスク上でのフォルダ分類とは関係なく、プロジェクトの中での分類になっている。右側はリリースノートのが見えているが、ソースの編集などを行なう場合にはこの領域を使う。
すでに、MyDocument.javaというソースがあるが、これがドキュメント管理部分に相当する。さらに、main.mというファイルがあるが、これはObjective-Cで作られたソースだ。非常に短いが、Objective-Cで、アプリケーションを起動する部分が作られている。ただ、このmain.mは特に手をつける必要はないので、Objective-Cの部分があっても安心すれば良い。
なお、一連の操作で、ホームフォルダにMyFirstCocoaというフォルダが作られ、そのなかにプロジェクトファイルのMyFirstCocoa.pbprojが作成される。それをダブルクリックすると、また別の機会で開くことができる。ただ、これはファイルに見えるが、Mac OS Xのアプリケーションと同じくバンドルになっていて、実態はフォルダだ。なお、以前に呼び出したプロジェクトは、Project BuilderのFileメニューのRecent Projectsからも簡単に呼び出せるので、まずはProject Builderを立ち上げてメニュー操作でプロジェクトを呼び出してもよいだろう。ちなみに、筆者はProject BuilderのアプリケーションをDockに登録している。
関連リンク