HMDT
home download archives bbs cocoa1001 core safari sketchBp screenSaver optimize authorize

Cocoa 上級

こっちは、一歩進んだ Cocoa プログラミングのための本。
ある程度 Cocoa でプログラムを動かしたことがある人にお勧め。
入門レベルから、実用的なアプリケーションを作れるレベルにまで、
引き上げることが目的だ。

本のサイト:

- Oreilly
- サンプルソースコード

Amazon.co.jp:

- Building Cocoa Applications

Building Cocoa Applications: A Step-by-Step Guide

Simson Garfinekl & Michael K. Mahoney 著
(英語)

オライリーの Cocoa 本。入門 Cocoa とは違って、こっちはもうちょっと高度な感じだ。

本は 4 部構成になっているんだ。第 1 部はオーバービュー。まず Mac OS X のユーザインタフェースの説明から始めているんだ。Aqua とは何か、ウィンドウの各部の名称、メニュー、Finder、初期設定。ここから始めるということは、他の環境から移行してくる人を意識しているってことだね。続いて、開発環境の説明、Objective-C の導入となる。Objective-C の説明は、かなり簡略化されている。他のオブジェクト指向言語の経験がないと、厳しいのではないか。

第 2 部では、単純なアプリケーションとして電卓を作る。ここでは、ターゲット・アクションとか、nib ファイルの取り扱いとか、Cocoa アプリケーションの基本的なところが説明されるんだ。

第 3 部は、もうちょっと複雑なアプリケーション。「計算紙 (MathPaper)」を作る。まるで、紙に計算を書くように計算を行えるアプリケーションだ。たとえば、'1999 + 3' とテキストで入力すると、その答えが出てくる。履歴が残るところも利点。で、このテキストで書かれた計算式をどうやって評価するかっていうと、lex と yacc を使っているんだ。トークン分割して評価してやる実行ファイルを lex と yacc で作って、アプリケーションから呼び出してやるんだ。だから、タスクやパイプの制御、っていうトピックスも取り上げられている。他にも、ドキュメント・ベース・アプリケーションや、RTF の描画とかも説明されるよ。

第 4 部は、「グラフ紙 (GraphPaper)」を作る。今度は数式をグラフ表示するアプリケーションだ。ここでは、マルチ・スレッドや、マウスのトラックとかいうトピックを扱うぜ。

というわけで、特に後半の 2 つは取り扱っている内容は高度だ。きちんと理解するには、Cocoa だけではなくて一般的な計算機の知識、タスクとかパイプとかスレッドとかが求められるんだ。そういう知識がある人ならば、取り扱っているアプリケーションは実践的だし、長く使える 1 冊です。

ちなみに、こちらからサンプルをダウンロードできる。これだけでも結構役に立つよ。

本のサイト:

- サポートページ
- SAMS
- サンプルソースコード

Amazon.co.jp:

- Cocoa Proramming

Cocoa Prgramming

Scott Anguish, Erik M. Buck, Donald A. Yacktman 著
(英語)

SAMS から出ている、名前の通り Cocoa のプログラミングの本。3 人の共著になっているようだ。

何をいっても一番最初に目に付くのは、その厚さ。1,200 ページ以上ある!こういう厚い本って、よくリファレンス本なんかでは、ヘッダファイルのコピーをだらだらのっけていたりするんだけど、この本はそんなことはない。簡潔にして十分な説明で、とても多くのトピックが詰め込まれている。

内容は、Cocoa プログラミングに関する話題を、ほぼすべてカバーしているといっていいでしょう。Mac OS X や Objective-C の説明から始まって、Cocoa のほとんどのクラスを説明している。その説明も通りいっぺんのものではなくて、基本的なコンセプトから具体的な使い方まで、ていねいに。

他にも、フレームワークの作り方や、アプリケーションの配付の仕方、さらに Objective-C ランタイムの解説まである。API リファレンスには載っていないけど、実際にアプリケーションを作るときに必要になる、突っ込んだ情報がここにあるよ。

サンプルプログラムも使える。実践的で面白いものが多い。アプリケーションのデザインのやり方の例として、なぜかテトリスを作るんだよね。ちゃんと遊べるテトリスが、サンプルとして付いてくる。

というわけで、非常に幅広い本だ。だから、1 つ 1 つの説明は、十分なんだけど、素っ気ない気もする。甘くはない。初心者が手にしたら、すぐに挫折すること間違いなし。その代わり、本気で開発をする人には、必携の本でしょう。