Cocoaとは
Cocoa ( ココア )は、 Mac OS X 用のアプリケーションを構築するための フレームワーク ( API )であり、Mac OS Xの様々なアプリケーション開発環境の中で主要な物の一つ。
NeXTSTEP ( OPENSTEP )のAPIをベースとしており、Mac OS X向けのネイティブ・アプリケーションを構築するのに適している。逆に、これまでの Mac OS (Mac OS 9.xまで)向けのアプリケーションを構築する目的で使用することは出来ない。
一般に、Cocoaを利用したアプリケーションを構築する場合、 アップル から提供される統合開発環境である Xcode (元Project Builder) 及び Interface Builder を使用する。
アーキテクチャ
Cocoaは Objective-C をコア言語とする オブジェクト指向 フレームワークである。
OS 機能や コレクション クラス などをまとめたサービス層であるFoundationと、主に GUI パーツの集合であるAppKitの二層構造を成し、狭義ではこの二つをCocoaフレームワークと呼ぶ。厳密な区分ではないが、AddressBook APIや WebKit など、周辺サービスを提供するObjective-Cで記述されたフレームワークを広義にCocoaと呼ぶこともある。
基本構造は MVC アーキテクチャで、他に 委譲 (デリゲート)、ファクトリ、 Chain of Responsibility パターン などが多用される。抽象度の高い下位サービスと柔軟なViewの組み合わせが特に強力で、そのままの利用から高度なカスタマイズまで幅広い適応力を持っている。 Mac OS X v10.3 ではM-V間の同期を自動化する Cocoa Binding (Controller層)、 Mac OS X v10.4 ではモデリングを自動化する Core Data が実装され、さらに記述の抽象度は上がっている。...






