[Flutter]初めてのアプリを公開するまでに参考にしたサイト一覧

# はじめに

Flutterを学び始めてから約１ヶ月。先人たちの知見に助けられ、なんとかiOS、Androidアプリの公開（現在申請中）まで到達することができました。
感謝の意味も込めて、お世話になったサイトをまとめたいと思います。

## 1.知識インプット

## ドキュメント
- [Flutter Doc（公式、英語）](https://flutter.dev/docs)
- [Flutter Doc JP](https://flutter.ctrnost.com/)

Flutterの公式ドキュメントは非常に充実しており、英語ドキュメントに慣れている方であれば書籍もいらないのではないのでしょうか。自分の場合は公式ドキュメントはリファレンスとしての活用が主で、一番最初は有志で運営されている（？）日本語版のFlutter Doc JPを一通り読みました。

### 書籍
- [Flutter　モバイルアプリ開発バイブル](https://www.amazon.co.jp/dp/B07Z9DYYBY/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)
- [Flutter×Firebaseで始めるモバイルアプリ開発](https://www.amazon.co.jp/dp/B07LBPRHQD/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)

書籍は２冊読みました。特にモバイルアプリ開発バイブルはおすすめです。基本的なWidgetの使い方から、テスト、CI/CDの話まで書かれており、アプリ開発初心者の私にとっては網羅的に記述されていてありがたかったです。

### ブログ

- [Flutterの効率良い学び方(medium.com/@mono0926)](https://medium.com/flutter-jp/flutter-learning-c5640c5f05b9)
- [Flutter FAQ 🇯🇵(medium.com/@mono0926)](https://medium.com/flutter-jp/faq-f885a6494a8)

どちらも[@_mono](https://twitter.com/_mono)さんのブログです。「Flutterとはなにか」「何が良いのか」をオーバービューで分かりやすく知ることができます。Flutter導入を検討されている方にもおすすめ。

### Youtube
- [Flutter（公式）](https://www.youtube.com/channel/UCwXdFgeE9KYzlDdR7TG9cMw)
    - [Flutter Widget of the Week（再生リスト）](https://www.youtube.com/watch?v=b_sQ9bMltGU&list=PLjxrf2q8roU23XGwz3Km7sQZFTdB996iG)
- [KBOYのFlutter大学](https://www.youtube.com/channel/UCReuARgZI-BFjioA8KBpjsw)

特におすすめなのが、Flutter公式のFlutter Widget of the Weekです。約1分間の動画で1つのwidgetをわかりやすく紹介する動画で、20年5月現在80種類以上あります。アイデアの引き出しを増やすためにも、スキマ時間を活用して全部見ておくことをおすすめします。


## 2.チュートリアル
### チュートリアル
- [Flutter Doc JP チュートリアル](https://flutter.ctrnost.com/tutorial/)
- [Firebase Tutorial for Flutter](https://www.raywenderlich.com/7426050-firebase-tutorial-for-flutter-getting-started)]

まず、Flutter Doc JPのチュートリアルを一通り実行しました。次に、Firebaseとの連携方法を学ぶため、2つ目のチュートリアルを実行しました。チュートリアルはなるべく写経することで、Flutterの理解を深めることに注力しました。

### サンプルアプリの解説
- [Flutter はじめの一歩(medium.com/@mono0926)](https://medium.com/flutter-jp/first-step-9b7f2c74fb08)

monoさんの「Flutterはじめの一歩」はAndroid Studioで自動的に作られるカウンターアプリについてひとつひとつの処理を解説していて、読むだけでかなり理解を深めることができました。

## 3.開発

### Flutter
- [Flutter Doc Cookbook（公式）](https://flutter.dev/docs/cookbook)
- [Flutter Doc Reference（公式）](https://flutter.dev/docs/reference/widgets)

コードを書く際には、まず公式ドキュメントのcookbookやリファレンスから使えるコードがを探すところから始め、ドキュメントにない場合のみQiitaやStackOverflowの記事を参考にする、という順序で良いと思います。

### Dart
- [Flutter入門のためのDart入門](https://qiita.com/teradonburi/items/913fb8c311b9f2bdb1dd)

また、ここまでDartの勉強を全くしてこなかったため、Dartの文法に躓いたときは上記のDart入門Qiitaが非常に参考になりました。


### その他
- [Flutterでの開発をスムーズに行うためのTips集(medium.com/@mono0926)](https://medium.com/flutter-jp/tips-b2487a63a8)

さらに、monoさんのTips集は開発を始める前に、**必ず** 一通り目を通しておくべきだ良いと思います。特に**dartfmt**と**Alt+Enter**は知っておかないと作業効率が低く、本質じゃないことに時間をかけてしまう可能性が高いです。

### 開発しながら書いたQiita
- [[Flutter]popUntilメソッドで初期画面に遷移させる](https://qiita.com/fujit33/items/09dc5bfcd6cab8d6698e)
- [[Flutter] 自前の画像をタップして処理を走らせる（GestureDetector、onTap）](https://qiita.com/fujit33/items/5094efcedbe49331168e)
- [[Flutter]画像をドラッグすることでカウンターを動かす](https://qiita.com/fujit33/items/a858659a5092061c0f7c)
- [[Flutter]一番シンプルなカウントダウンタイマーの作り方](https://qiita.com/fujit33/items/a033ccb7fdaa1818e5ca)
- [[Flutter]BOTTOM OVERFLOWED BY ** PIXELSへの対処法](https://qiita.com/fujit33/items/81494e22986083c212f4)

開発しながら調べたことをQiitaの記事としても公開しました。もしよければLGTMしてください！（宣伝）

## 4.デザイン

画面デザインなどは完全に自己流です。自分用ホワイトボードに各画面のイメージと遷移イメージだけ書いてそのまま作り始めました。

### フリー素材
- [いらすとや](https://www.irasutoya.com/)
- [BEIZ images](https://t.co/Tlfzx16Hzt?amp=1)

フリー素材を利用する際は利用規約をしっかり読みましょう。（みんな大好きいらすとやも、使える画像数に上限があったりします）

### アイコン、スクリーンショット作成
- [Sketch](https://www.sketch.com/)

Sketchが人気のようなので、無料体験期間を利用して作成しました。まだ使いこなしていない身ですが、使いやすかったので引き続き使ってみようと思います。

## 5.アプリ公開

### 公開までの手順
- [Flutterアプリ公開の最後のほうにやったこと](https://note.com/iiinaiii/n/nf8c54dc56da1)
- [iOSアプリを登録、申請して公開するまで](https://i-app-tec.com/ios/app-release.html)
- [FlutterでAndroidのリリース用APKをビルドする前の準備いろいろ](https://qiita.com/kasa_le/items/d23075d817f42e869778#1%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%82%92%E4%BD%9C%E6%88%90)

経験がある方はわかると思いますが、アプリ公開の手順って結構めんどくさいです。まとめサイトは多いのですが、上記のサイトが情報も新しく、ほとんどそのままの手順で進めることができて助かりました。

### プライバシーポリシー
- [App Privacy Policy Generator](https://app-privacy-policy-generator.firebaseapp.com/)
- [個人開発者がAppStore用にプライバシーポリシーを書く](https://qiita.com/Hiroki_Kawakami/items/94f012d20afdb692df20)

アプリを公開する際にプライバシーポリシーページを作成する必要があるのですが、上記プライバシーポリシージェネレーターを使えば、必要な情報をフォームに入力するだけで、プライバシーポリシーを生成してくれます。

## まとめ

monoさんは神