大学生が1週間でFlutterアプリを学んでリリースした過程(2日目)

おはようございますシオンです。


昨日の深夜に思いつきで始まったこのチャレンジ。
今のところ完成しない未来しか見えていませんが、果たしてどうなるのか。僕が一番一週間後を楽しみにしています。


#目次
#####■制作手順を決める
#####■準備をする
#####■まとめ



# ■制作手順を決める

有名な格言に
>『もし8時間、木を切る時間を与えられたら、そのうち6時間を私は斧を研ぐのに使うだろう。』　
---エイブラハム・リンカーン---


というのを聞いたことがあります。また
>『愚者は経験から学び、賢者は歴史から学ぶ』

とも言われています。もちろん僕は賢者なので、リンカーンの格言に従ってしっかりとまずは計画を立てていきましょう。


計画を立てるためには、どこに向かうのかのゴールが必要になりますが、今回は**「一週間でアプリを作ること」**ともう決まっています。
ただ、これだと少し曖昧なので
**「一週間でAppを完成させ、リリースする。」**としたいと思います。



これでさらに難易度が上がりましたね！！


一週間でアプリ制作というとどんな手順を踏めばいいのか、一週間で作ったことがないので試しにググってみます。
**「一週間　アプリ　作り方」**
と調べてみると、なんとありました笑。やり方が笑（世界は広い）


しかもすごく丁寧に書かれていて、リリースまでしている。おまけにできたアプリも面白そうだ。これ本当に一週間で作ったのか？この人はすごい。気になる方はこちらをご参照ください。
[Webデザイナーだけど初めてのiPhoneアプリを7日間で開発した手順と制作ツール](http://websae.net/iphone-app-develop-20131105/)



この記事によると制作からリリースまでの手順としては以下のようになります。


**①準備、企画**
　↓
**②デザイン**
　↓
**③プログラミング**
　↓
**④アプリ審査、リリース**


なるほど、なるほど。分かってはいましたが、普通のアプリ制作とそんな変わらないですね。つまり普段よりすごくすごく頑張って普通にアプリを作ればいいようですね。わかりやすい。ありがとうございます。

もう残り6日しかないのでさっそく①準備、企画を進めていきましょう。




# ■準備をする

**①準備、企画**
何を準備するのか。
ゴールの「アプリをリリースする」ところから考えると
アプリをリリースするためには、完成したアプリとリリースする知識が必要。リリースする知識で言うと、IOSはすでにやったことがあるのでOK。androidに関しては手をつけたことがないです。

androidアプリのリリースについて調べたところ

**①Googleディベロッパーアカウントを作成する**
**②デジタル署名したパッケージファイル（apkファイル）を準備する**
**③GooglePlayにアプリケーションを登録する**

という手順が必要になるそう。
①は登録すればOK、②はアプリを作れば自動的に作られるのでOK。
③を完了するためにはスクリーンショットとアイコンを用意しなければならないようです。


次に、完成したアプリを用意するためには、アプリのデザイン、アプリの作り方の知識、アプリを作る時間が必要。


今回はもう時間が相当ないのでこのまま書きながら決めていきます。
一つずつ分解しながら進めていきます。

＜アプリのデザイン＞

```:
（僕なりに分解していってやることを決めていきます。）

＜アプリのデザイン＞
　┣　デザインを作るソフト　━　AdobeXD
　┣　デザインソフトを使う知識　━　すでに持っているからOK
　┗　ソフトでデザインを作るために必要な要素
        ┣ アプリのコンセプト ┳ 何をする？　━　愚痴を書き込んで消化する。　━　消化して次に進むためのアプリ　━　だから灰色、黒などはNGでも赤、黄色もテンションが違う。
        ┃              ┣ 誰が使う？　━　愚痴ある人、OL、20代の女性向け。　━　女性らしい色合いが良さそう。ピンク、紫
        ┃              ┣ いつどこで使う？　━　愚痴が溜まった時、他にいう人がいない時。　━　すぐに書き込みたいからトップ画面に愚痴書き込み画面にしたい。
        ┃              ┗ なぜ使う？　━　吐き出して乗り越えるため。周りに言いたくないことを言う。言ってはいけない悩みを言う。　━　秘密、乗り越える勇気づけ、優しい、落ち着く　━　紫色、緑色を使って秘密かつ落ち着く配色が良さそう。
        ┣ アプリの機能　┳ 愚痴を書き込む ━　書き込むフォーム、題名とかあったほうがいいか？　あと客観的に自分の状況を見るためにその愚痴がどのくらい嫌かの愚痴レベルをつけると良さそう　━　題名、愚痴の内容2つを書き込むフォーム。愚痴レベル評価ボタン。
        ┃           ┣ 消化する ━　愚痴を消す。消化、乗り越えるだから、書き込み完了ボタン　→　「愚痴を乗り越えて次に進みますか？」　→　「では今から何をしますか？」　みたいな感じで次の行動につなげる表示を出す。
        ┃           ┗ 消化した数を表示する。 ━　乗り越えた愚痴の数を表示する。これまでの積み上げ、一つの勇気になるか？　━　画面の右上に表示。余裕があれば別画面に表示してメッセージとかをつける。
        ┗ アプリの制作期間　━　一週間。　━　Flutterの勉強をしながらになるから1~3画面に収める。
```

＜アプリの作り方の知識＞

```:
＜アプリの作り方の知識＞
　┣ ツール ┳ 開発環境(SDK) ━ Flutter
　┃ 　　　 ┗ 言語 ━ dart
　┗ ツールの使い方 ┳　Flutter ┳ 環境構築 ━ 既に完了済み
               ┃          ┣ ビルド ━ 既に済み
               ┃          ┗ ライブラリの入れ方 ━ 調べる。 ┳ ライブラリではなくパッケージというらしい        
               ┃                                  ┗ 手順 ━ https://qiita.com/akeome/items/0a6ebf3af402fdf62c79
               ┗ dart ━ これから調べながらやっていきます！！！
```

＜アプリを作る時間＞
一週間のうち本日で2日目、残り5日。理想としてはスクリーンショットなどのリリース準備に1日余しておきたいので7日目はリリース準備日。とすると3日目〜6日目までの4日間でデザインからプログラミングまで終わらせなければならない。


とにかくコードには時間をかけたいので、デザインを明日XDで作成。
残り3日間丸々使ってコードを実装。という手順でやっていきたいと思います。



もう一度言いますが、僕はFlutterにもdartにも全く触れたことがないです。
だから勉強のためにやっているのですが、なぜこんなに追い込まれなければならないのだろう・・・（昨日の自分！何してくれてんだ！）


# ■まとめ

ちなみにこの一週間チャレンジに割いている時間は夜中12時〜3時です。（本当に何してくれてるんだ昨日の自分）

頑張りましょう。