のブログ、今日は外で書いています。

とあるビル下のスタバです。
必要以上の開放感があってまったく落ち着きません。
巣穴から引っ張りだされてきたモグラあたりに必要以上の共感を感じます。

さて。
本日からぼちぼちiPhoneアプリ開発に戻ろうかと思います。

へっへっへ。ほとぼりが冷めるまでトンズラこくぜ。
って期間が長過ぎて開発方法を忘れそうだからです。
えーと。

この期間私なりにいろいろ勉強をしてみて、
現段階で一つの結論にたどり着きつつあります。

初心者がiPhoneアプリ開発やろうと思ったら、
「これだけである程度は作れる」ってモノが必要。
こういうことです。

私はこれまで結構いろいろな言語に首を突っ込んできてまして。
自分だけの「学習パターン」ってものを持っています。たぶん。

私のパターンですと、多くの言語は、

・テキストを読んでサンプルを作って、とりあえず完成形のイメージを植え付ける
・サンプルアプリの改良版をゼロから複数回組み上げることで、ビビらない自信を付ける
・お作法的なテンプレートを組み込むことで、自分のクセを抜きアプリの基本品質を上げる
・Tips的なものや、他の人が作った優れた機能を真似ることで、洗練を繰り返す

こうすることで比較的短期間に習得できます。

—————– もう少し細かく解説 —————–

STEP1
テキストを真似たり、テキストのサンプルを勝手に拡張させてエラーにならないことを確認したり、
とにかく前半は小難しいお作法は一切抜きにして「動けば良いや」で開発しまくります。

テキストの段階では、基本的にエラーにはまったく対応できません。
テキストの中に、事細かに「エラーの出し方」を書いているものはほとんどありませんので、
エラーの内容を見て直すのではなく、エラーが出たらテキストの正解を見て直します。

STEP2
正解だけを見ているといつまでたってもテキスト外のことが覚えられませんので、
前半戦はテキストの少し外まで、つまり、テキストで書いてあるサンプルの改良版を自力でゼロから作ることが目標になります。

STEP3
で、ある程度エラーが出てもビビらずに直す感覚が身に付いてきたら、
ガッチガチのお作法(変数定義や初期化などの事前処理、メモリー解放やエラーハンドリングなどの事後処理)が入ったテンプレートをよーく眺めて、そのルールに従ったアプリを作ってみます。
我流からの脱出です。

いわゆる趣味のアプリとプロ(ビジネスとしての成果物)のアプリの違いは、
前者が「動けば良い」の品質がベースになることに対して、
後者は「動かないケースは無い」の品質がベースになります。

想定外の操作をされてもアプリがトラブらないようにしておくためには、
「想定外のケースをなくす」ことが必要になります。

なんか軽く矛盾してますね。
それができないから想定外なんだろうってヤツです。

テンプレートは、それを補ってくれます。

「とにかくそのコードを書いておけば、どうやらこういうケースを回避してくれるらしい。」
聞いたってよく分らないケースだったとしても、書いておいたことでプログラム側からは想定外ではなくなります。

特にiPhoneのアプリは、AppStoreで公開する前にアップルのチェックが入りますので、
趣味の無料アプリであってもそれなりの品質が要求されます。
初心者だから我流で良いか、そういうわけにもいきませんので、このステップは非常に大事です。

STEP4
お作法が身体に馴染んだら、後はネットを徘徊して、
世界中の技術者の技術を自分に吸収していけばいいわけです。
お作法は押さえているので、少なくともそのプログラムは「動けばもう正解」なのですから。

—————– もう少し細かく解説 ここまで —————–

初心者がiPhoneアプリ開発にとってネックになるのは、
程よいお作法テンプレートが無い」という部分です。
たぶんココです。

テキストを読んで、
サンプルを作って、
さて、自分のアプリを作ってみようかと思った時に、
頼れるお作法テンプレートが無くて愕然とする。

散々ブログの中で登場してきた、iPhoneSDKが提供するView-BasedとかWindow-Basedとか、標準テンプレートはあまりにスッカスカですし、アップルに言わせれば、Cocoa touchフレームワークのリファレンス読めばイイじゃんってことになっています。

帯に短しタスマニアドロシー。誰?

無いなら。
作るしか無いでしょう。ウチで。

ということで。
サルできテンプレート開発プロジェクトを始めます。

ダウンロードして、
中を見て、
初期設定の枠に初期設定のコードを書いて、
ボタンとかアラートとかテーブルとか、
コードで実装できるオブジェクトが欲しければコメントアウトを外して、
サンプルのアクションをいじって、
終了処理書いて、
ビルド。完成!

ってものを作ってみましょう!
当然 InterfaceBuilder に頼る部分や、Xib Windowでいじった方がいい部分も出てきます。
ですが、標準テンプレートより簡単にはなるでしょう。まずコメント日本語ですし!

じわじわと作るのはいつも通りですが、
一発完成!ってわけではなく、機能追加があるたびに更新していくパターンになります。

ブログで経過を書いていきますので、「こんなコード入れた方がいいよ!」という
ナイスアドバイスをガンガンお願いします!

無用な開放感が生んだ奇跡になるのか悲劇になるのか。
ガンバリマス☆てへっ。

0