|
|
Log In | Not a Member? |
Contact ADC |
| < Previous PageNext Page > |
Cocoaアプリケーションは、1行のコードも追加することなく作成できます。Xcodeを使って新しいCocoaアプリケーションプロジェクトを作成し、そのプロジェクトをビルドするだけです。もちろん、このアプリケーションは大きなこと(少なくとも面白いこと)は実行しません。しかし、この極端に単純なアプリケーションでも、ダブルクリックすると起動して、Dockにそのアイコンを表示し、メインメニューと(「Window」というタイトルの付いた)ウインドウを表示し、コマンドで非表示になり、実行中の他のアプリケーションとも協調して動作し、コマンドで終了することができます。アプリケーションウインドウの移動、リサイズ、最小化、ウインドウを閉じるなどの操作も実行できます。さらに、ウインドウに含まれている空の領域を印刷することもできます。
わずかなコードを追加しただけで何ができるか想像してみてください。
プログラミングの手間という点では、Cocoaはデベロッパに、無償のものや低コストのものをたくさん提供します。もちろん、生産的なCocoaデベロッパになるということは、新しい概念、デザインパターン、プログラミングインターフェイス、開発ツールに習熟することなので、その手間は無視できません。しかし、習熟すれば生産性は上がります。プログラミングの大部分は、Cocoaが提供しているプログラムコンポーネントと、プログラム固有のロジックを定義するカスタムオブジェクトやコードとを組み合わせて組み立てる作業になります。
以下に、デベロッパ側でのわずかな手間で(時には手間をかけずに)、どのようにしてCocoaがアプリケーションに価値を加えるのかを簡単にまとめます。
基本のアプリケーションフレームワーク — Cocoaはイベント駆動動作、アプリケーション管理、ウインドウ管理、およびワークスペース管理のためのインフラを提供します。ほとんどの場合、イベントを直接処理したり、描画コマンドをレンダリングライブラリに送信したりする必要はありません。
ユーザインターフェイスオブジェクト — Cocoaは、アプリケーションのユーザインターフェイス用に、既製のオブジェクトを豊富に取り揃えています。これらオブジェクトのほとんどは、Interface Builder(ユーザインターフェイスを作成するための開発アプリケーション)のパレットで利用できます。パレットのオブジェクトをインターフェイスのサーフェス(表面)にドラッグし、その属性を設定して、ほかのオブジェクトに接続するだけです(もちろん、これらのオブジェクトは、いつでもプログラムでインスタンス化、設定、接続できます)。以下に、Cocoaのユーザインターフェイスオブジェクトの例を示します。
ウインドウ | テキストフィールド | ラジオボタン | ドロワ |
シート | タブビュー | テーブルビュー | ブラウザ |
ポップアップリスト | スライダ | イメージビュー | カラーウェル |
コンボボックス | スクロールビュー | テキストビュー | ステッパ |
さらにCocoaは、アクセシビリティの向上、妥当性検査の実行、ユーザインターフェイス中のオブジェクトとカスタムオブジェクトの接続の手助けなど、各種のユーザインターフェイスをサポートするテクノロジーを備えています。
描画とイメージング — Cocoaは、画面上のフォーカスを固定し、ビュー(またはビューの一部)に「ダーティ」の印を付けるために、フレームワークを使ったカスタムビューの効率良い描画を可能にしています。Cocoaには、ベジエパスの描画、アフィン変換、イメージの合成、さまざまなイメージ表現の作成のためのプログラムツールが含まれています。
システムとの対話 — Cocoaはファイルシステム、ワークスペース、その他のアプリケーションと対話する(そして、そのサービスを利用する)手段をアプリケーションに提供します。
データ交換 — Cocoaはコピー&ペーストとドラッグ&ドロップ、および「サービス」メニューを通じて、アプリケーション内やアプリケーション間のデータ交換を単純化します。
パフォーマンス — アプリケーションのパフォーマンスを向上させるために、Cocoaはマルチスレッド、アイドル時間処理、リソースの遅延ロード、メモリ管理、実行ループ操作のプログラムサポートを提供しています。
ドキュメントベースアプリケーション — Cocoaでは、それぞれが独自のウインドウに収められた、潜在的に無数のドキュメントで構成されるアプリケーション(ワープロなど)のアーキテクチャを定めています。実際、「ドキュメントベースアプリケーション」のプロジェクトタイプを選択すると、この種のアプリケーションのコンポーネントが多数作成されます。
スクリプティング — アプリケーションのスクリプト対応情報と一連のサポート用Cocoaクラスを通じて、アプリケーションをスクリプタブルにできます。つまり、AppleScriptスクリプトによって発行されたコマンドに対応できるということです。さらにアプリケーションは、スクリプトを実行したり、個々のAppleイベントを使って他のアプリケーションにコマンドを送信したり、データを受信したりすることもできます。結果として、すべてのスクリプタブルアプリケーションが、ユーザと他のアプリケーションの両方にサービスを提供できます。
国際化 — Cocoaは、何年にもわたって洗練されてきた国際化とローカリゼーションのアプローチを利用しています。ユーザの選択言語に基づくこのアプローチでは、ローカライズされたリソースがアプリケーションのバンドルに格納されます。また、ローカライズされた文字列を生成し、文字列にアクセスするためのツールとプログラムインターフェイスも提供しています。さらに、Cocoaのテキスト処理はデフォルトでUnicodeがベースになっているため、国際化には有利です。
Undo管理 — 発生するユーザの操作をUndoマネージャに登録して、ユーザが該当するメニュー項目を選んだときにそれらの取り消し(およびやり直し)を処理できます。Undoマネージャは、取り消しとやり直し操作を別々のスタックに保持します。
テキスト — Cocoaは、単純なテキスト(テキストビューと編集可能なテキストの表示など)から複雑なテキスト(カーニングやリガチャの制御、スペルチェック、画像の埋め込みなど)までを処理できる洗練されたテキストシステムを備えています。
プリント — テキストシステムに類似した方法で、プリントアーキテクチャは、書類やほかのアプリケーションの内容を、さまざまなレベルの制御と洗練の度合いに応じて印刷できるようにします。最も単純なレベルでは、デフォルトでどのビューの内容でもプリントできます。複雑なレベルでは、プリントする内容と形式を定義したり、プリントジョブを実行する方法を制御したり、プリントパネルに補助ビューを追加したりできます。
環境設定 — ユーザデフォルトシステムは、グローバルな環境設定とアプリケーションに固有の環境設定を格納できる、システム全体を対象とするデータベースをベースとしています。
ネットワーク — Cocoaには、同一コンピュータ、または異なるコンピュータ上のCocoaプロセス間の通信を可能にする分散オブジェクトアーキテクチャが盛り込まれています。また、アプリケーションにBonjour機能を組み込むためのプログラムインターフェイスも提供しています。
| < Previous PageNext Page > |
Last updated: 2006-05-23
|
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 |