2009/12/30

FavTun Timer 開発で参考させていただいた書籍群の紹介

先日公開させていただいたiPhone 用タイマーアプリのFavTun Timerですが、皆様のおかげで、AppStore Utilities カテゴリの TOP FREE APPS で86位というランクをいただくことができました!

ダウンロードしてくださった皆様、ご利用くださっている皆様、しかも Review まで投稿してくださった皆様、本当に感謝しております。有難うございました。なんであれ、使ってくださっている方々がいる、ということが大変に嬉しいです。

FavTun Timerは初めて書いた iPhone 用アプリケーションです。「iPhone OS 3.0 で膨大な数のAPIが追加される」という Apple からの説明を受け「どんなAPIが追加されるんだろう」と興味本位でAPIリストを覗いたことが発端でした。リストやドキュメントを見ているうちに「折角 Mac と iPhone を持っているのだから..」と、サンプルコードの改変を進めているうちに、完成された Framework の魅力へと引き釣りこまれていきました。当時は、ともに C で始まるから、という理由だけで Cocoa と Carbon とを混乱しているような初心者っぷりだったように記憶しています。

こんな状態で開発を始めたので、完成までは非常に様々な書籍、ドキュメントへお世話になりました。ここでは、参考になった書籍群の作者様へ感謝しつつ、それらを紹介させていただきたいと思います。なお、私が書籍を購入したのは主に2009年夏位で、まだiPhone OS 3.0に関する書籍が存在していなかった頃です。現在は改版されているものもあるかと思いますので参考にされる際にはご注意ください。またリンク先は、出版社のページです。

まずは、基礎となる Objective-C に関する書籍です。

詳解 Objective-C 2.0(荻原剛志)

Objective-C 2.0に関する包括的な言語解説書であり、リファレンスでもあります。Objective-C に於けるメモリ管理から、リフレクションの利用方法、Foundation ライブラリの概要やネーミング規約、また、2.0で導入された宣言プロパティ/アクセサまで、すべての内容が網羅されています。もしより深い内容を知るために、Appleの言語マニュアルを参照する場合でも信頼の於ける道標として利用できるでしょう。


次に iPhone アプリケーションの概念を学ぶ際に利用させていただいた書籍です。当時は Xcode での新規 Project 作成方法すらわからなかったので、それらの書かれている書籍を探しました。

iPhone SDKの教科書—Cocoa Touchプログラミング、最初の一歩(赤松 正行)

iPhone アプリケーション作成方法の概説を勉強させていただいた書籍です。数時間で読める解りやすい概説書です。Xcode や Interface Builder の概要を知った書籍で、Xcode と IB との連携方法などが実際に参考となりました。

基礎からのiPhone SDK(鶴薗 賢吾)

Cocoa Touch の規約などに関して勉強させていただいた書籍。こちらも数時間で読みこなすことが可能なサイズです。私は、先の本と併せて基本クラスを勉強させていただくとともに、Application Delegate など、各種実際に利用されている Delegate の概要などを学びました。


上記2冊が概念をつかむまでに参考にさせていただいた書籍です。今振り返ると、NSTimerや AVAudioPlayer など、FavTun Timer の基礎となるクラスの使い方は、ここで勉強したのかな、と思います。

アプリケーションへの機能追加など、開発が本格化してきた際にお世話になった書籍が以下の2冊です。

はじめてのiPhoneプログラミング(デイヴ・マーク、ジェフ・ラマーチ(著)/マーク・ダルリンプル(監修)/鮎川 不二雄)

非常に多くのコードが順を追って書かれている実用的な解説書。単一アプリケーション内での MutiView をどのように取り扱うべきか、また iPhone アプリケーションで数多く利用されている UITableView や、UINavigationCtonroller を実際のコードでどのように利用するのか、など、実開発で直ぐに利用可能な情報が数多く散りばめられています。FavTunTimer では3つのタイマーを切り替えていますが、その基礎はここで学びました。米国では OS3.0 対応版が発刊されているためか、現在この書籍は Amazon では入手が困難になっているようです。良い書籍であるだけに大変残念です。

iPhoneアプリケーションプログラミング(新居 雅行) / サポートページ

iPhone OSの基本クラスに関するリファレンス的な書籍。主要クラスを概説し、その使い方をシンプルなコードで説明しています。この本の素晴らしい点は、メモリ管理など、現実の実装で重要となる概念が、非常に詳しく書かれている点です。残念ながら、このあたりの解説が曖昧な書籍が多い中、この本では、例えば、「IB で作られたインスタンスの release 管理はどうすべきか」に関し、その onwer 権限の考え方も踏まえ、詳しく書かれています。Appleのドキュメントに散逸している情報がひとまとめにされており、何度もこの本に助けられました。非常に素晴らしい本であり、大変におすすめしたい書籍です。惜しむらくは、書籍名からは、その素晴らしさがわかりにくいことでしょうか...。


上記刊行書籍以外に参考になったのは、もちろん Apple Developer Connection で公開されているドキュメントとサンプルコードです。Apple のドキュメントは非常に丁寧に整理/維持されており、また、Xcode と緊密に統合されているため、開発途中に於いても、簡単に各種ドキュメントへたどり着くことが可能です。記載内容も、まずは概説のち詳細と順を追って書かれており、ドキュメントの内で説明されているコードは、実行可能なサンプルとして提供されています。PDFとHTMLの両フォーマットで閲覧可能な点もポイントが高く、私は多くのドキュメントを印刷し、通勤中に読んでいました。一部のドキュメントは日本語訳も公開されています

最後に「Google Objective-C スタイルガイド 日本語訳」を紹介します。Google の定めた Obj-C のコーディングルールがまとめられたもので、Takashi Sasaiさんが日本語へ翻訳してくださっています。私はここに書かれている内容を何度も読み砕くことで、ようやく Objective-C で正しいコードを書く糸口を発見できたような気がしました。

以上、私が参考にさせていただいた書籍、ならびにドキュメントです。作者の方々へ感謝しつつ、他デベロッパの方々の参考になれば嬉しく思います。



0 件のコメント:

コメントを投稿