iPhone開発関連書籍2冊購入
最近、iPhoneの開発関連の書籍は、入門レベルの内容から一歩突っ込んだ、実践向きのものが増えてきて、とても楽しいですね。3月に入ってから、2冊ほど購入したのですが、どちらも有用に思えたので、簡単に紹介したいと思います。
iPhoneプログラミングUIKit詳解リファレンス、Objective-C逆引きハンドブックの2冊ですが、まず「iPhoneプログラミングUIKit詳解リファレンス」から。
内容的には、タイトル通りにUIKitのリファレンスです。内容として目新しい情報があるわけでは無いですが、“詳解”という言葉にふさわしく、UIKitの各機能が、図や短いサンプルコードで丁寧に解説されています。各パラメーターを変化させたときの結果の違いが一覧表で掲載されていたり、要所要所でカラー印刷が使われていたりと、読み手の理解を深めようとする工夫が随所で見られます。
一方で、読み手のレベルは、入門レベル卒業以上を想定している様で、Objective-Cの文法などの解説はありません。また、InterfaceBuilderを使わない形で解説されています。UIKitは、名前の通りiPhoneのUI部分をサポートするためのものなので、精緻な画面デザイン(UIデザイン)を行うときには、InterfaceBuilderの様なデザインツールを使わないと作業効率は格段に落ちます。その辺りの事は、筆者も踏まえた上で、あえて解説のためにInterfaceBuilderを使わない方法を選んでいるとの事ですが、読む際に念頭に置いておく必要があります*1。
とは言っても、本書の目的はUIKitの解説で、InterfaceBuilderを使用するかしないかは、UIパーツを使いこなすための情報という本筋部分には影響しません。InterfaceBuilderを使用してプログラミングする場合にも、サンプルコードをそのまま利用できないだけであって、情報そのものは*2利用できます。しかも、その情報は前述したとおりに、とても有用なものです。
全くのiPhoneプログラミング門外漢が、この1冊だけで入門しようとすると、サンプルコードを実行するだけで終わってしまいかねないですので、入門レベルの人は、ほかの入門書を併読 or 読了後に取り組むのがいいと思います。入門レベルを終え(あるいは中級以上でも)、UIKitを使いこなしてアプリケーションを自作していこうとしている人には、よいリファレンス本として使えると思います。
続いて、「Objective-C逆引きハンドブック」ですが、まず「ハンドブック」という大きさではありません 。巻末索引まで含めて850ページを越えていますので、とても重いです。
それはそれとして、内容は、Objective-Cの逆引きというより、Cocoa(iPhone OSの場合はCocoa Touch)*3の逆引きです。事実上、Objective-CとCocoaは不可分の状況なので、使用において問題はありません。対象は、Mac OS XとiPhone OSの両方です。
Objective-Cの文法についても詳細な記載があります。また、巻末付録にAppKit(iPhoneの場合はUIKit)を使った開発についての簡単な解説もついているなど、至れり尽くせりといった感じです。
肝心の逆引きの質も高く、また量もかなりの物です。サンプルコードや重要点、発展的な情報をコラムの形で付記し、関連項目のページまで記載されています。そして、各情報でiPhoneやMac OS Xでの差異がある場合、それについても解説されています。
情報の内容的には、Objective-Cプログラマー必携の「詳解 Objective-C 2.0(通称、荻原本)」の情報を実践的に整理・拡充し、iPhoneやMac OS Xの現バージョンにおける情報を付加したものという感じです*4。
実際にプログラムしている最中に、「あ、あれはどうやるんだっけ」とか思ったときに、ぱっと開いて使える逆引きは、大変使い勝手がいいです。
--- --- 脚注 --- -- -- -- -- -- -- - - - - - - - - -
- InterfaceBuilderを使わない=xibファイルを用いない事で、「多くの場合、起動や画面切り替えのレスポンスが向上する」、「起動や画面切り替え時のプログラムの流れが(システム任せでなくプログラマーが管理できるようになるので)理解しやすい」などのメリットは確かにある [↩]
- 該当する部分のサンプルコードも [↩]
- NSxxxxの様に、NSで始まる様なFoundationフレームワークが主な対象みたい [↩]
- もちろん、荻原本の方が、内容的には深く解説している。ただ、荻原本は、Cocoaの各メソッドについては必要最低限しか解説がない [↩]
コメント無し
RSS feed for comments on this post.