[O]テスト試作アプリの設計を自分なりに行なってみた

Title 1
Xcodeをイジイジして理解が深まっているのかそうでないのかわからなくなってきています、 Olein編集長(@Olein_jp)です、おはようございます。

GW休暇の間に少しずつ学習を進めていましたiPhoneアプリ開発ですが、正直なところ次のステップがどこにあるのかわからなくなってきてしまいました。

新しく書籍を購入して勉強するのも一つの方法なのですが、どの本を買っていいものかもわかりませんし、本当に次の一歩が見えなくなってしまいました。

であれば、とりあえず失敗しても挫折してもいいから、何かテストアプリを作ってみればいいかという結論へ自ら落とし込み、まずはその設計をしてみることにしました。参考にした書籍はこちらです。が、どちらのどこを参考にしたとはなかなか言いがたい部分があります。というのも、厳密に書籍の内容に従って設計をしてみたわけでもありませんし、どんな方法が正解なのかを自分で試しながら学んでいくのもアリなのかな?と思い、進めました。ですので、この方法が正しいというわけでは決してありません。みなさんの参考になるものなのか、または参考にしてはいけないものなのかさえ分かりませんが、せめてこれはやっちゃだめっていうメモにでもなれば幸いです。(上手くいったら万々歳!)

どんなアプリが作りたいのかを考えてみる

さて、僕自身はどんなアプリが作りたいのか真剣に不真面目に考えてみました。不真面目にというと「どうなの?それは」と思われてしまうかもしれませんが、すべて最初から完璧に実装できるもんでもなさそうですし、遊びの要素がないとやはり使ってもらえないのかな、とか思ったりもします。その結果、あまり固く考え過ぎない為にも不真面目に考えてみます。

叩けばホコリが出てくるオレイン編集長なので、パンパン叩けばいい加減なネタはたくさん出てきます。それが、実現可能か、実装可能かは別としてですが。

とにかく、頭に思い浮かんだアイデアは片っ端からメモしていきます。それは「今からアプリのアイデアを考え始めるのでメモします」というものではなく、日々ジワジワと考えていく方がよさそうです。

同じ場所で固まってアイデアを考えていても、偏りがちなアイデアになりかねません。外の空気を吸って、いろんなシチュエーションでiPhoneと向かい合い、たまに考え、思い浮かんだアイデアをメモしておきます。

その思い浮かんだメモの中から、今の自分に実現可能かどうかという線で分けながら選定していきます。ですので、ボクの場合は夢物語アプリ案は今回の選定からは外してあります。試作アプリの案ですので、あくまでも現時点の自分のスキルで実現可能なレベルで考えて選定しました。

画面遷移を考えてみる

画面遷移(がめんせんい)とは、アプリを起動しどのように画面が進んでいくのか。その中でどんなボタンや機能を配置するのかというモノを考えるためにやります(と認識しています)。

これは本当に簡単に画面のイラストを書きながら1画面1画面作っていきます。たまにあら間違えたなんてことも全然ありますが、また別の紙にでも書き直せばいいのです。これを繰り返していき、ある程度アプリの全体像が見えてきます(ボクは見えてきました)。

フローチャートを描いてみる

そして、簡単にフローチャートを描いてみましょう。フローチャートってなんだ?って人もみえるかもしれませんが、要するに先ほど作った画面遷移を元に起こりえるであろうアクションを分岐を使いながら流れを書いていく図のようなものです。

画面遷移図を見ながらなるべく漏れのないように書きだしたほうがよさそうです。後からの追加も問題なくできるかと思いますが、ボク個人的にはアクシデントが起こるとめげそうなので、なるべく漏れのないように書き出しました。

必要な機能を書きだしてみる

そして、その画面遷移図フローチャートをもとに、実装しなければならない機能を書きだしていきます。ここではなるべく一つ一つを箇条書きで書きだしたほうがいいような気がします。一つの文章に二つ以上の機能が含まれているとタスクを処理していく上でわかりにくくなりそうなので、ボクはなるべく一つの文章に一つの機能となるように書き出しました。

まとめ

この様な流れで、テスト試作アプリの設計を進めてみました。

この作業を完了して感じたこと。それは、すごいワクワクです。何かモノを作るのって凄く楽しいことだし、たしかに完成するかもわからないアプリだけど、一つ当面の大きな目標ができたような、そんな気分です。

しかし、冒頭にも書いたように、これが正しいアプリ設計の方法かどうかはわかりません。ですので、もしこの記事を開発者の方が見られたら、ご指導・ご助言いただけると幸いです。「ココにはこの作業も入れておいたほうがいいよ」などご指摘いただきたいです。

あとはどれだけ根気強く開発していけるかだけですね。挫折しないように頑張ります!