Developer Tools and Technologies
Mac OS XとiPhone OSにパワーを与えるCocoaおよびCocoa Touchフレームワークは、Xcodeの開発エクスペリエンスに強固に統合されています。 CocoaのハイレベルAPIによって、数行のコードを用いるだけで、アニメーション、ネットワーク、ネイティブプラットフォームの外観と動作をアプリケーションに追加することが簡単にできます。
CocoaとCocoa Touchフレームワーク
Cocoaフレームワークはライブラリ、API、ランタイムで構成され、それらがMac OS Xのすべてに対して開発レイヤを形成します。Cocoaを用いた開発により、デベロッパはMac OS Xそれ自身が作成されたのと同じ方法でアプリケーションを作成することができます。アプリケーションは、UNIXオペレーティングシステムの潜在的なパワーをフルに活かしたMac OS Xの優れた操作性や外観を自動的に継承します。 Xcode IDEとCocoaを使用するのは、ネイティブのMac対応アプリケーションを作成する最良の方法です。
iPhone OS向けに、Cocoa Touchフレームワークが同様な機能性を有するタッチベースに調整されたモバイルエクスペリエンスをiPhone上に提供します。
Cocoaに柔軟性を与えるObjective-C
Cocoaの多くは、アプリケーションのイベントを実行するのに非常にダイナミックなランタイムを使用するオブジェクト指向プログラミング言語であるObjective-Cで実装されます。
アプリケーションが動作中、 Objective-Cランタイムは、ロジックの実行に基づいてオブジェクトのインスタンスを作成します。コンパイル中に定義された方法だけではありません。例えば、動作中のObjective-Cアプリケーションは、インターフェイス(Interface Builderで作成されたnibファイル)を読み込み、インターフェイスでCocoaオブジェクトをアプリケーションコードに関連付けて、UIボタンが押されると正しいメソッドを実行します。再コンパイルは不要です。
Objective-Cは、Cの上位互換であるので、CocoaアプリケーションにCとC++を混在させることが簡単です。
Objective-Cのダイナミックなランタイムは、モダンなスクリプティング言語の多くと類似しており、Cocoa Bridgeを使用して他の言語にCocoaの機能をマップするのが簡単になります。Cocoa Bridgeにより、デベロッパは AppleScript、Ruby、Pythonを使って高品質のMac OS X対応アプリケーションを作成できます。
CocoaにおけるModel-View-Controllerデザインパターンの応用
Cocoaは、Model-View-Controller(MVC)デザインパターンを活用しています。Model(モデル)はアプリケーションデータをカプセル化し、View(ビュー)はそのデータを表示/編集し、Controller(コントローラ)がModelとViewの間のロジックを仲介します。このように役割を分担することにより、設計、実装、メンテナンスがより容易なアプリケーションに仕上げられます。
MVCパターンのおかげで、デベロッパがアプリケーションのViewだけに集中している間、Interface Builderでは記述や生成されたコードを必要としません。Mac上のCocoaバインディングは、ほとんどのグルーコードを排除し、Xcodeでコード化されたControllerとInterface BuilderでデザインされたViewの双方をシンプルでグラフィカルな「配線」で結び付けます。Interface BuilderはCocoaと連動し、アプリケーションのローカライズ化が容易になりデベロッパは新しい市場に素早く参入できます。




