Apple Developer Connection
Advanced Search
Member Login Log In | Not a Member? Contact ADC

< Previous PageNext Page >

開発環境

Cocoaに独自の開発環境があるというのは、正確な表現ではありません。たとえばプログラマは、アップルの主要な開発アプリケーションであるXcodeとInterface Builderを使って、Carbonなど、ほかのMac OS Xアプリケーション環境向けのソフトウェアを開発できます。また、XcodeやInterface Builderをまったく使わずに、Cocoaアプリケーションを開発できます。たとえば、MetrowerksのCodeWarriorを使用しても、Cocoaプロジェクトの管理、コンパイル、デバッグができます。さらに、徹底してこだわるのであれば、Emacsなどのテキストエディタを使ってコードを書き、makeファイルでコマンドラインからアプリケーションをビルドし、gdbデバッガを使ってコマンドラインからアプリケーションをデバッグすることも可能です。

しかし、Cocoaソフトウェアの開発には、XcodeとInterface Builderの使用が推奨されます。それらの起源はCocoa自体の起源と一致しているため、ツールとフレームワークの間には高度な互換性があります。XcodeとInterface Builderのおかげで、Cocoaソフトウェアプロジェクトの設計、管理、ビルド、デバッグはきわめて簡単です。さらに、AppleScript Studioでは、アプリケーションの機能を拡張し、スクリプタブルなCocoaアプリケーションと、AppleScriptを使ってほかのアプリケーションを制御するアプリケーションの両方を作成できます。

In this section:

Xcode
Interface Builder
AppleScript Studio
その他の開発ツール


Xcode

Xcodeは、アップルのMac OS X用統合開発環境(IDE)の基盤となるエンジンです。プロジェクトの開始から運用まで、ほとんどの内容を管理するアプリケーションです。このアプリケーションでは、以下のことができます。

Xcodeでは、C、C++、Objective-C、Objective-C++、Javaで記述したソースコードからプロジェクトをビルドします。コマンドラインツール、フレームワーク、プラグイン、カーネル拡張、バンドル、アプリケーションなど、Mac OS Xでサポートしているあらゆる種類の実行可能ファイルを生成します。Xcodeでは、ビルドおよびデバッグツール、実行可能パッケージ(情報プロパティリストとローカライズされたバンドルなど)、ビルドプロセス(ファイルのコピー、ファイルのスクリプティング、その他のビルド段階)、ユーザインターフェイス(分離型およびマルチビュー型のコードエディタなど)をほとんど無制限にカスタマイズできます。複数のソースコード管理システム(特にCVSとPerforce)もサポートしており、リポジトリへのファイルの追加、変更のコミット、最新バージョンの入手、バージョンの比較ができます。

Figure 1-4に、Xcodeのプロジェクトのサンプルを示します。


Figure 1-4  XcodeでのTextEditサンプルプロジェクト

Figure 1-4 XcodeでのTextEditサンプルプロジェクト

Xcodeは、特にCocoa開発に適しています。プロジェクトを作成するときには、Xcodeが、Cocoaプロジェクトのタイプ、すなわち、アプリケーション(Objective-CまたはJava)、ドキュメントベースのアプリケーション(Objective-CまたはJava)、ツール、バンドル、フレームワークなどに応じたプロジェクトテンプレートを使って最初の開発環境をセットアップしてくれます。Xcodeは、CocoaソフトウェアのコンパイルにはGNU Cコンパイラ(gcc)を使い、ソフトウェアのデバッグにはGNUソースレベルデバッガ(gdb)を使います。gccgdbは、CocoaがNeXTSTEPのときからCocoa開発に使用され(“「小さな歴史」”を参照)、Cocoaバイナリのコンパイルとデバッグをサポートするために長年にわたって洗練、拡張、調整されてきました。

Xcodeには、インポートしたすべてのCocoaフレームワークのクラスに加えて、継承関係にあるカスタムクラスを表示できるクラスブラウジング機能もあります。クラスブラウザからは、任意のクラスに関するドキュメントをリクエストできます。さらに、各種のデザインツールも含まれています。たとえば、Core Dataアプリケーションで使用されるエントリの属性と関係をデザインするツールなどです。

Xcodeは、もう1つの主要な開発アプリケーションであるInterface Builderと高度に統合されています。Interface Builderでは、クラス(スーパークラス、アウトレット、アクション)を定義し、プロジェクトのクラスごとにスケルトンヘッダとソースファイルを生成できます。Xcodeでは、カスタムクラスにアウトレットとアクションを追加でき、Interface Builderでそれらのエントリをnibファイルにインポートできます。

注: 簡単にいえば、アウトレットはオブジェクト間の接続をアーカイブしたものです(1つのオブジェクトのインスタンス変数として指定されます)。アクションは、ボタンやスライダなどのオブジェクトを操作したときに、ターゲットと呼ばれる別のオブジェクト(通常はカスタムオブジェクト)において呼び出されるメソッドです。Interface Builderは、ターゲットと、対応する他のオブジェクト(コントロールと呼ばれます)の間の接続もアーカイブします。アウトレット、ターゲット、およびアクションの詳細については、「“アウトレット”」および「“ターゲット/アクションメカニズム”」を参照してください。

参考資料: 『Xcode Quick Tour Guide』ではXcodeの概要を述べ、他の開発ツールのドキュメントへのリンクも掲載しています。

Interface Builder

Cocoaプロジェクト用のもう1つの主要な開発アプリケーションはInterface Builderです。その名のとおり、Interface Builderはユーザインターフェイスを作成するためのグラフィカルなツールです。Interface Builderは、CocoaがNeXTSTEPとしてスタートした頃から存在しています。以来、この種のアプリケーションの中では最高のものとして広く認められてきました。当然のことながら、Interface BuilderとCarbonとの統合は緊密です。さらに、Interface BuilderでCarbonアプリケーションのユーザインターフェイスを作成することもできます。

Interface Builderは3つの主要なデザイン要素を中心としています。

Figure 1-5に、Interface Builderで開いたnibファイルと関連ウインドウを示します。


Figure 1-5  Interface Builderにおける、テキストエディットの「環境設定」ウインドウ

Figure 1-5 Interface Builderにおける、テキストエディットの「環境設定」ウインドウ

Interface Builderでユーザインターフェイスを作成する一般的な手順は簡単です。

  1. ウインドウオブジェクトまたはパネルオブジェクトを画面上にドラッグします(パネルはダイアログまたはセカンダリウインドウと同じです)。

  2. ウインドウの最初の(または固定的な)位置、サイズ、属性を設定します。

  3. テキストフィールド、ボタン、テーブルビュー、ポップアップリストをウインドウ上または事前に配置したビュー上にドラッグします。

  4. 上のオブジェクトの最初の(または固定的な)位置、サイズ、属性を設定します。

  5. アプリケーションのカスタムクラスを定義します。

    これはInterface Builder自体で、または事前に作成したヘッダファイルをInterface Builderに読み込むことで実行できます。カスタムクラスを定義すると、Interface Builderでそのアウトレットやアクションを指定できます。

  6. オブジェクト間のバインディングまたは接続を確立します。これには次のいずれかを行います。

  7. インターフェイスを保存してテストします。

    Interface Builderには、各設計段階でインターフェイス(カスタム動作は除く)をテストできる機能があります。

  8. 定義した各カスタムクラスのヘッダファイルとソースファイルを作成します。これらのファイルは、関連するXcodeプロジェクトに表示されます。

Interface Builderには、配置された各オブジェクトを移動またはリサイズするときに、Aquaヒューマンインターフェイスガイドラインへの準拠性を、一時的な青い線で表示する機能があります。これには、推奨サイズ、位置揃え、ユーザインターフェイス上のほかのオブジェクトやウインドウの境界線との相対的な位置が含まれます。

参考資料: この、ユーザインターフェイス開発ツールの詳細については、『Interface Builder』を参照してください。“「nibファイル」”では、nibファイルついて、また、アプリケーションにおけるそれらの使用方法を説明しています。さらに、アウトレット、ターゲット/アクションメカニズム、Cocoaバインディングテクノロジーの概要については、“「オブジェクトとの通信」”も参照してください。

AppleScript Studio

何年にもわたってMac OSを特徴付けてきた機能は、AppleScript言語で記述したスクリプトを使ってユーザがアプリケーションを制御できることでした。この機能により、複数のアプリケーションがかかわる一連の複雑な処理をつなぎ合わせることができるため、多くのユーザがこの機能を必須のものと考えています。AppleScriptの機能は、Mac OS Xにも導入されました。AppleScript Studioは、複雑なユーザインターフェイスの制御にAppleScriptスクリプトを利用する、Cocoaアプリケーション作成のための開発テクノロジーです。

AppleScript StudioはAppleScript、Xcode、Interface Builder、およびCocoaの要素を結合して、AppleScriptソリューションを作成するために洗練された環境を用意しています。以下のことが可能なアプリケーションをビルドできます。

AppleScript StudioはAppleScriptとXcode、Interface Builder、およびCocoaを統合しているため、スクリプトを記述する際に、それぞれの独自の強みと機能を利用できます。Interface Builderパレットから豊富な一連のユーザインターフェイスオブジェクトをドラッグして、好みに合わせてカスタマイズできます。Aquaヒューマンインターフェイスガイドラインのサポートも組み込まれています。また、複数のターゲットやビルド手順を伴う複雑なプロジェクトのビルドとメンテナンスもできます。

この開発環境では、AppleScriptスクリプトの作成に従来使用されてきたScript Editorアプリケーションを十分にしのぐスクリプト機能を利用できます。以下のような機能があります。

参考資料: 詳細については、『AppleScript Studio Programming Guide』を参照してください。

その他の開発ツール

XcodeとInterface Builderは、Cocoaアプリケーションの開発に使用する主要なツールですが、それ以外にも多数のツールがあります。これらの補助的なアプリケーションとコマンドラインツールの多くは、アプリケーションの開発段階で役に立ちます。

このセクションでは、補助的な開発アプリケーションについて説明し、いくつかのコマンドラインツールも簡単に紹介します。しかし、後者はあまりにも多数であるため、その要約さえここでは掲載できません。最善の方法は、/usr/bin/usr/sbinにあるツールのマニュアルページ(manページ)を調べることです。それには、Terminalシェルでmanに続けてツールの名前を入力します。/Developer/Toolsにも、アップルが開発したコマンドラインツールがいくつかあります。

パフォーマンスツール

以下のアプリケーションは、プログラムのパフォーマンス面の測定・分析に使用します。/Developer/Applicationsにあります。

パフォーマンス分析には、以下のコマンドラインツールを使用することもできます。

そのほかにも、パフォーマンス分析に利用できるコマンドラインツールはたくさんあります。Cocoaアプリケーション開発で使用できるパフォーマンスツールとアプリケーションの詳細と、パフォーマンスに関する概念やテクニック、戦略については、「Performance」のプログラミングトピックを参照してください。

注: 『Performance Overview』では、Mac OS Xのパフォーマンスツールについて解説しています。

その他のツール

Cocoaアプリケーションの開発には、次のアプリケーションも役に立ちます(/Developer/Applicationsにあります)。



< Previous PageNext Page >


Last updated: 2006-05-23




Did this document help you?
Yes: Tell us what works for you.

It’s good, but: Report typos, inaccuracies, and so forth.

It wasn’t helpful: Tell us what would have helped.
Get information on Apple products.
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Copyright © 2007 Apple Inc.
All rights reserved. | Terms of use | Privacy Notice