Happy Macintosh Developing Time [Third Edition]

HOME > BOOKS > Happy Macintosh Developing Time [Third Edition]

Happy Macintosh Developing Time [Third Edition]

Cocoa プログラマのための技術解説書

HM03.jpg

chapter 1 Spotlight
chapter 2 PDF Kit
chapter 3 QuickTime Kit
chapter 4 Cocoa と XML
chapter 5 NSTreeController
chapter 6 Core Data: チュートリアル
chapter 7 Core Data: 詳解
chapter 8 その他の Cocoa の新しいクラス


このサイトと同名のタイトルである、Mac OS X 向けプログラミング書籍シリーズの、Happy Macintosh Developing Time の第三弾が登場です。第一弾では、入門から中級までの Cocoa プログラミングを取り扱いました。それを改訂する形の第二弾(Second Edition)は、Panther こと Mac OS X 10.3 で登場した機能を解説する章を付け加えたものです。
今回の Third Editionは、内容は完全な新作になっています。前の二冊と、内容はかぶっていません。その代わり、前作の内容を既に把握している、という前提で書いてあります。だから、Cocoa の基本的な知識や、前作の大きなトピックだった Cocoa バインディングの説明は省いてあります。このあたりは、前の本を参照してください。
だから、すでに Second Edition を持っている方は、そのまま Third Edition を買ってください。これから揃えようという方は、Second Edition と Third Edition を買ってください。第一弾は買わなくとも大丈夫。

さて、そのような背景をふまえた上でこの本の内容を紹介しましょう。一言でいえば、Third Edition は Tiger Edition です。Mac OS X 10.4 で、新たに追加された Cocoa の機能を紹介しています。Tiger は、ユーザの視点からするとそれほど大きく変わらなかったかもしれないけど、内部には実にたくさんの変革がありました。Cocoa の変更をまとめただけで、一冊の本が書けてしまうくらいです。

じゃあ、どんなトピックがあるか、簡単に紹介していきます。

Spotlight - Tiger の新機能

まず、Tiger といえばコレ!というのが、Spotlight (chapter 1) です。高速な、システムワイドの検索機能です。ユーザにとって便利なだけでなく、自分のプログラムでもこの機能を使う事ができます。たとえば、自分のアプリケーションからシステム内のファイルを検索する事ができます。うまくプログラムを組めば、Finder での検索よりも相当速くできます。また、自分のアプリケーションが作成した書類を Spotlight から検索されるようにする必要もあります。これには、インポータというプログラムを作る事になります。

整理されたフレームワーク

また、Tiger では、従来からあった機能が整備されて使いやすくなっています。たとえば、PDF です。PDF は Mac OS X が登場したときから使えるけど、Cocoa から利用できるものは結構制限されていたんですよね。あと、QuickTime。言わずと知れた、超強力メディアフレームワークだけど、これが Carbon べったりで。なんでいまさら FSRef や FSSpec でアクセスしないといけない!?と、Cocoa な人なら突っ込んだ事があるはずです。これらのために、PDF Kit (chapter 2)、QuickTime Kit (chapter 3) という、Cocoa 用の新しいフレームワークが用意されました。これでもう、いつもの App Kit を利用するのと同じような感覚で、使う事ができます。
あと、XML (chapter 4) です。Cocoa の XML サポートはジワジワという感じで進んできて、Tiger でどうやら一通りそろったかな、という感じです。

Cocoa バインディングと Core Data - Cocoa MVC の完成

ここまでは、Cocoa の周りの話です。もちろん、Cocoa 自身も大きく改良されています。Cocoa は MVC アーキテクチャを採用しているんだけど、このうち 'C' にあたるコントローラは、Cocoa バインディングでサポートされました。Tiger ではこれが拡張されて、木構造の Cocoa バインディングのために NSTreeController (chapter 5) が追加されました。
さらに、MVC の 'M' であるモデルのサポートも追加されました。これが、Tiger での Cocoa 最大のトピックである、Core Data です。Core Data により、Cocoa MVC は完成をむかえたと言っていいでしょう。アプリケーション作成の、すべての工程がサポートされることになったからです。Core Data プログラミングでの肝は、モデリングになる。適切なモデリングさえ行えれば、後は Cocoa が自動的にアプリケーションを作成してくれます。
この Core Data を、HMDT Third Edition では完全解説しました。章を 2 つに分けて、Core Data: チュートリアル (chapter 6) の章ではモデリングツールや述語エディタの使い方を、Core Data: 詳解 (chapter 7) の章ではすべてのクラスの詳しい解説を行っています。2 つ合わせて、170 ページにもなっています。

その他の Cocoa の新しいクラス

他にも便利なクラスがいくつか追加されているので、それらをまとめて最後の章 (chapter 8) で解説しています。


今回の本を書いていて思った事は、Cocoa の発展にはブレが無い、という事。新たに追加された機能は、従来からのものとしっくりと馴染んでいます。まるで、Mac OS X が登場したときから Cocoa のロードマップはすでに決定されていて、それに従って進んでいるかのようです。
これは、Cocoa を使っている上で大きな安心感になります。プログラムを組んでて一番嫌な事は、利用しているフレームワークが、OS のバージョンアップにともなってなくなったり、あんまり機能が変わらない新しいフレームワークが出てきて「次はこっちを使え!」って言われる事だと思います。Macintosh では、Mac OS 9 まではそういう状況が多かったけど、Mac OS X と Cocoa になってからは、それが無い。これは、ものすごく大事な事です。
他の言語やフレームワークにあって、Cocoa に無いものはたくさんあります。たとえば、ガベージコレクションが無い。仮想マシンも無い。プラットフォーム非依存性も、今のところ無い。だけど、Cocoa は Mac OS X で最高のパフォーマンスを発揮して、何より最高の統一的な完成度を誇る。「最も洗練されたオブジェクト指向フレームワーク」の地位は、これからもゆらぐ事はないと、確信しました。



amazon →


出版:BNN 新社
ISBN:4861003806
定価:3,990円(税込)
仕様:448ページ/B5変型
発売日:2006年2月25日


HM03-b.jpg