Objective-Cについて深く、深く掘り下げた解説書

昨年の発売以来、世間から高い注目を浴び続けているiPhone。その魅力としては、デザインや、ディスプレイの大きさ、操作性、といった項目が挙げられることが多いが、開発者にとっては、やはりiPhoneアプリケーションを開発/販売できる点が大きいだろう。

そのiPhoneアプリケーション開発において利用することになる言語がObjective-Cだ。別の言語を使うこともできるが、メインはObjective-Cである。本稿で紹介する書籍『Dynamic Objective-C』は、そのObjective-Cについて深く、深く掘り下げた解説書になる。

さて、『Dynamic Objective-C』というこのタイトル、本誌読者の皆さんはどこかで聞いたことがあると感じているのではないだろうか。実は、本書はマイコミジャーナルで3年間にわたり連載していた『ダイナミックObjective-C』を集約したもの。一部加筆のうえ、iPhone SDKに関するハック情報を追加、というかたちで書籍化されている。現在の状況に合わせ、iPhoneアプリ開発に興味のある開発者向けの情報を加えて再編集されたかたちだが、何よりも大きいのは、書籍という形態になり、手元に置いてじっくりと学習できるようになった点だろう。

Objective-Cを使いこなすための情報がここにある

プログラミング言語の一般的な解説書では、基礎はおさえられるものの、実際に開発をはじめると「情報が足りない」と感じることがある。例えば、メソッドの動的な呼び出しや、オブジェクト内部の情報へのアクセスなどは、書籍では触れられていないことが多く、調査をしながらコーディングを進めるはめになるのも珍しくない。そのような足りない部分を補う書籍が『Dynamic Objective-C』である。本書には「よりObjective-Cを使いこなすための情報」が詰まっている。

解説している項目は、「Objective-Cの基礎」「Core Foundation」「ガベージコレクション」「デザインパターン」など。Objective-Cは、良い意味で"柔軟"、悪く言ってしまえば"適当"な動的特性を持ち合わせているが、それをコンパイル系の言語としてどのように実現しているかをソースコードレベルに落とし込んで解説している。

また、言語仕様や機能の表面的な解説にとどまらず、プロの開発者の視点からさまざまなトピックスを盛り込んでいる点も大きな長所だろう。例えば、アスペクト指向に対するObjective-Cでの取り組み方や、GoF(Gang of Four)のデザインパターンをObjective-Cで書くとどのようになるか、さらに、そのデザインパターンがMac OS X上で実際に利用されている箇所なども紹介している。プログラマーにとっては非常に参考になるのではないだろうか。

ソースコードから知るObjective-C

450ページで、Objective-Cにまつわる知識を丁寧に開発。プログラミングスキルの向上に効果的。

本書の冒頭では、Objective-Cにおけるオブジェクト指向とは何なのか、という点から入り、ソースコードへの道をおりていく。クラスとは何か、オブジェクトとは何か、メソッドとは何か……、そうした内容をただ言葉で説明するのではなく、実際のソースコードから読み取っていく。その中にはAppleの技術者たちの苦心が見え隠れすることもある。C言語とObjective-Cをいかにシームレスに連結させているか、といった興味深い考察が読み取れたりもする。

本書の中では、ハックに関する話題も収録されている。例えば、Mac OS Xをハックするためのモジュールを管理する有名なソフトウェアとして「SIMBL」があるが、これがどのように動作してOS自体の挙動を変えてしまうようなハックを行っているかについて細かく説明されている。また、Objective-Cではポージングによって全てのウィンドウを半透明にしてしまうようなこともできるが、そうした動作がなぜ可能であるか、本書を読めばおわかりいただける。

こうした知識は、実開発で問題に突き当たった時などに必ず活きてくるはずだ。

Objective-Cの本質を知る

Objective- Cは"動的"な特性を持つ言語である。そのため、本来厳密に行われるべきチェックが行われなかったり、行われたとしても警告が出るだけでコンパイルは通ってしまったりする。

他の言語であれば、そうした状況はコンパイラや言語仕様に問題があると指摘されることになるが、Objective-Cでは、それをプログラマの技量によって押さえ込んだり、逆に利用してハックしたり、というかたちで運用されている。開発者によっては「我慢できない」という人もいるが、柔軟だと前向きに受け止めることができる方なら、きっと本書は楽しく読み進められることだろう。

なお本書には、通常の利用想定を越えたハックも紹介されている。そのため、誤って用いると、OSの挙動が不安定になったり、iPhoneのアプリケーション審査で落とされたりする可能性もあるので、その点には注意してほしい。とは言え、ハックは非常に楽しいものだ。知識欲・探究心を大いにくすぐられる。本書を読み進めていくうちにObjective-Cが身近に感じられるようになるのは間違いないだろう。

Dynamic Objective-C

木下誠 著
ビー・エヌ・エヌ新社
2009年3月27日 発行
456ページ
ISBN 4-86-100641-4
定価 3,200円 + 税