さて、ひとまず入門書を使った勉強はひと段落したので、次は実際にアプリを作ることにします。
・・・と、アプリを作るといっても、まずはどこから手を付けたら・・・となってしまうので、最初は「まずはどこから手を付けるのか?」から考えたいと思います。
1.何を作るか?
まず最初は「何を作るか?」ということですが、私の場合、以前から自分で欲しいと思っていたアプリがあったのでここは問題なしです。
2.どのようなものを作るか?
次に「どのようなものを作るか?」を明確にする為にアプリの概要を決める為に次の資料を作成しました。
・画面遷移図
⇒iPhoneからアプリを起動した後に表示されるスタート画面を起点に必要だと思われる画面をすべて挙げ、それをどの画面からどの画面にどんな処理(イベント)で遷移するのかをまとめる。
・画面設計書
⇒作りたい画面のイメージとその画面で必要な機能を箇条書きでまとめる。
とりあえずはこれだけです。
画面数はスタートメニューも含めて7画面。設計するうちに「この機能は設定でカスタマイズできるようにしたい」「この機能もあると便利」と思った点もいくつかあるのですが、最初の段階ではすべて省いてできるだけシンプルなものにしました。まずは最初に動くものを作り、できあがったアプリを実際に評価しながら、機能追加や改修を行うようにします。
画面設計書自体もとてもシンプルなものです。既存のアプリの似たような画面のハードコピー、または手書きの画面イメージをiPhoneのスキャナーアプリで取り込みんだ画像をExcelシートの左半分に張り付け、右半分に実装したい機能を箇条書きにしているだけです。
最初は手書きした画面イメージをEvernoteに取り込むレベルでいいかな?とも思いましたけど、小さくてもアプリはアプリ。「最初はどのような構想で、どこをどのような理由でどう変えたか」が後でわかるように設計書をExcelで作成し、ちゃんと改修履歴も残すようにしました。
3.どうやって作るのか?
どのような画面を作るかを決めたら、今度はマインドマップを使って画面毎に作成する為の課題や問題点を洗い出します。私の場合の大きな課題は次の3つ。
・画面を展開するに当たり、どのようなテンプレートを使えばよいのか?
⇒画面によっては、一覧画面と詳細画面をペアで使ったり、タブを使ったりと今までサンプルで作った画面を組み合わせて使う必要があるのですが、どう組み合わせればよいのかがまだ理解できていません(^^;。またXcode 4.2で追加されたStoryBoardもまだ使った事がないので合わせて理解する必要があります。
・Core Dataの詳細な使い方
⇒アプリで使うデータはデータベース上に残す必要がありますが、Core Dataは簡単なサンプルしか見たことがないので。管理方法も含めてちゃんと理解しておく必要があります。
・Core Audioの理解
⇒以前も書きましたけど、今回作成するアプリは音に関するアプリなので、音を再生する為の仕組みもちゃんと理解する必要があります。
4.スケージュリング
問題点が見えたところで、最後にスケジューリングします。
最初は3で挙げた問題点を重点的に調査します。特に1番目は重要ですね。すべての画面がとりあえず表示できるようになれば、後は画面毎に細かい機能を実装していけばよいので。
デザインやら何やら考えないといけない事もまだたくさんありますが、次のステップのゴールは「まずは動くものを作ること」。途中であきらめないように頑張ります(^^;。