Mac OS X - Cocoa

CocoaとCocoa Touchフレームワークは、Xcode開発環境に強固に統合されており、Mac OS XとiPhone OSをパワーアップさせます。Cocoaの高レベルAPIを使えば、数行のコードだけで、アニメーションやネットワーク機能、ネイティブプラットフォームの外観と操作性をアプリケーションに付加することができます。

Cocoa Frameworks

Cocoaフレームワーク

Cocoaフレームワークは、Mac OS X全体の開発レイヤーを構成するライブラリ、API、ランタイムで構築されています。Cocoaで開発することにより、Mac OS X自体が開発されたのと同じ方法でアプリケーションを開発することになります。あなたのアプリケーションは、UNIXオペレーティングシステムの潜在的なパワーをフルに活かし、Mac OS Xの卓越した操作性や外観を自動的に引き継ぎます。Xcode IDEとCocoaを使うことは、ネイティブなMacアプリケーションを開発する最良の方法です。

Objective-Cのパワー

Cocoaの大部分は、オブジェクト指向言語であるObjective-Cでインプリメントされているので、、著しく高速で動作し、極めて高い柔軟性をもたらす真にダイナミックなランタイムを採用します。Objective-CはCのスーパーセットなので、CocoaアプリケーションにCとC++を併用するのは簡単です。

あなたのアプリケーションが動作すると、Objective-Cのランタイムが、コンパイル時に定められた方法だけでなく、実行時ロジックに基づいてオブジェクトのインスタンス作成を行います。例えば、実行中のObjective-Cアプリケーションは、UIボタンが押されたら、インターフェイス(Interface Builderによって作成されたnibファイル)をロードし、インターフェイスのCocoaオブジェクトをアプリケーションに接続、適切なメソッドを実行することができます。再コンパイルは必要ありません。

Objective-Cのダイナミックランタイムは多くのモダンなスクリプト言語と類似しています。そのため、Cocoa Bridgeを使用してCocoaの機能を他の言語に簡単にマップすることができます。Cocoa Bridgeを使えば、開発者はAppleScript、Ruby、Pythonなどを用いて、第一級のMac OS Xアプリケーションを開発することができます。

CocoaのModel-View-Controllerデザインパターン使用

Model - View - Controller

Cocoaは、一貫してModel-View-Controller(MVC)デザインパターンを使います。Modelはアプリケーションデータをカプセル化し、Viewはそのデータの表示と編集を行い、Controllerはこの2つの間のロジックをつなぎ合わせます。このように役割を分担することによって、設計、実装、メンテナンスがより容易なアプリケーションに仕上げられます。

MVCパターンは、開発者がアプリケーションのViewだけに集中している間は、InterfaceBuilderでコードを書いたり、コードを生成したりする必要がないということを意味します。MacのCocoaバインディングでは、グルーコードがほとんど必要なくなり、XcodeでコーディングされたControllerと、Interface BuilderでデザインされたViewの双方をグラフィカルな「配線」で結び付け結びつけるだけの単純な作業となります。Interface BuilderをCocoaと併用するとアプリケーションのローカライズが容易になり、新しいマーケットに速やかに参入できます。

機能リスト:カテゴリー別フレームワーク

Cocoaには、AppKitやCore Foundationのような主要なフレームワークが含まれ、ネットワークとデータからグラフィックスとプロフェッショナル音声処理まで、といった専門的なフレームワークと同様、Macアプリケーションに共通の構成要素を提供しています。こうしたフレームワークは、数行のコードで驚くようなエフェクトが作れる高レベルのObjective-C APIから、コアシステムのあらゆる面を操作できる低レベルのフレームワークまで、多岐に渡っています。 次にリストするのは、Cocoaが提供しているフレームワークの一部です:

  • オーディオとビデオ

  • Core Audio
  • Core MIDI
  • Core Video
  • データ管理

  • Core Data
  • ネットワークとインターネット

  • Bonjour
  • Directory Services
  • Kerberos
  • グラフィックスとアニメーション

  • Core Animation
  • Core Image
  • OpenGL
  • Quartz
  • QuickTime
  • QTKit
  • スクリプト言語の
    Cocoa Bridge

  • AppleScript
  • Python
  • Ruby
  • ユーザアプリケーション

  • Address Book
  • Calendar Store
  • Instant Message