Flutterで作成したアプリをリリースした話

# はじめに
初めての投稿になります。個人開発で「仕事大嫌い」というアプリをリリースしました。仕事の愚痴をつぶやくというアプリです。android版は準備中です。
https://apps.apple.com/jp/app/%E4%BB%95%E4%BA%8B%E5%A4%A7%E5%AB%8C%E3%81%84-%E3%82%B9%E3%83%88%E3%83%AC%E3%82%B9%E7%99%BA%E6%95%A3sns/id1615957303
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">仕事の愚痴をつぶやくアプリ「仕事大嫌い」をリリースしました。使ってくれたら泣いて喜びます😂android版は準備中です🙇‍♂️<br><br>iOS<a href="https://t.co/v95E7HUn4n">https://t.co/v95E7HUn4n</a><a href="https://twitter.com/hashtag/%E4%BB%95%E4%BA%8B%E5%A4%A7%E5%AB%8C%E3%81%84?src=hash&amp;ref_src=twsrc%5Etfw">#仕事大嫌い</a> <a href="https://twitter.com/hashtag/%E5%83%8D%E3%81%8D%E3%81%9F%E3%81%8F%E3%81%AA%E3%81%84?src=hash&amp;ref_src=twsrc%5Etfw">#働きたくない</a> <a href="https://twitter.com/hashtag/%E4%BB%95%E4%BA%8B%E3%82%84%E3%82%81%E3%81%9F%E3%81%84?src=hash&amp;ref_src=twsrc%5Etfw">#仕事やめたい</a> <a href="https://twitter.com/hashtag/%E4%BB%95%E4%BA%8B%E8%BE%9E%E3%82%81%E3%81%9F%E3%81%84?src=hash&amp;ref_src=twsrc%5Etfw">#仕事辞めたい</a> <a href="https://twitter.com/hashtag/%E4%BB%95%E4%BA%8B%E3%82%82%E3%81%86%E7%84%A1%E7%90%86?src=hash&amp;ref_src=twsrc%5Etfw">#仕事もう無理</a> <a href="https://twitter.com/hashtag/%E6%96%B0%E7%A4%BE%E4%BC%9A%E4%BA%BA?src=hash&amp;ref_src=twsrc%5Etfw">#新社会人</a> <a href="https://twitter.com/hashtag/%E3%83%96%E3%83%A9%E3%83%83%E3%82%AF%E4%BC%81%E6%A5%AD?src=hash&amp;ref_src=twsrc%5Etfw">#ブラック企業</a> <a href="https://twitter.com/hashtag/%E8%BB%A2%E8%81%B7?src=hash&amp;ref_src=twsrc%5Etfw">#転職</a> <a href="https://twitter.com/hashtag/%E7%A4%BE%E4%BC%9A%E4%BA%BA?src=hash&amp;ref_src=twsrc%5Etfw">#社会人</a> <a href="https://twitter.com/hashtag/%E4%B8%83%E6%B5%B7%E5%BB%BA%E4%BA%BA?src=hash&amp;ref_src=twsrc%5Etfw">#七海建人</a> <a href="https://twitter.com/hashtag/%E5%8A%B4%E5%83%8D%E3%81%AF%E3%82%AF%E3%82%BD?src=hash&amp;ref_src=twsrc%5Etfw">#労働はクソ</a> <a href="https://twitter.com/hashtag/%E4%BB%95%E4%BA%8B?src=hash&amp;ref_src=twsrc%5Etfw">#仕事</a> <a href="https://t.co/drtIYtSF7I">pic.twitter.com/drtIYtSF7I</a></p>&mdash; かん (@Fire8373) <a href="https://twitter.com/Fire8373/status/1509805119222984707?ref_src=twsrc%5Etfw">April 1, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

# なぜ作ったか
私自身、仕事の愚痴が結構でてくるので、そんなときに発散できたらなぁと。仕事の愚痴に特化したSNSって見たことないなと思ったので作ってみました。Twitterでよくね？といわれると、それで終わりです。
# 開発を振り返って
良かった点
- App Storeの審査が初回で通ったこと。色々な方の記事を参考にリジェクトされそうな要素はあらかじめ潰しておきました。

悪かった点
- 開発の途中で出てきたアイデアを取り入れようとしたこと。工数が増えていくのでモチベの低下につながりました。初回リリースは最小限の機能だけでいいなと感じました。
# 使用技術
定番のみで作っています。
- Flutter（フロントエンド）
	- 状態管理：Riverpod + StateNotifier + Freezed
- Firebase（バックエンド）
	- Authentication
	- Firestore
	- Hosting
	- Functions
	- Remote Config
- Slack（管理者用）
	- Slack API
# 使用したパッケージ（抜粋）
定番たち
[shared_preferences](https://pub.dev/packages/shared_preferences)
[package_info_plus](https://pub.dev/packages/package_info_plus)
[url_launcher](https://pub.dev/packages/url_launcher)

[visibility_detector](https://pub.dev/packages/visibility_detector)
タイムラインをページングするために使っています。調べたら出てきます。

[custom_pop_up_menu](https://pub.dev/packages/custom_pop_up_menu)
吹き出しのポップアップを簡単に作れます。

[top_snackbar_flutter](https://pub.dev/packages/top_snackbar_flutter)
iOS版Twitterでツイート完了したら、上から出てくるやつです。

[uuid](https://pub.dev/packages/uuid)
FirestoreのドキュメントIDをユニークで持たせたかったので使っています。

[flutter_easyloading](https://pub.dev/packages/flutter_easyloading)
本来の使い方かわかりませんが、Firestoreに書き込む処理を行うボタンをタップするときに、二重タップを防ぐために使用しています。

[settings_ui](https://pub.dev/packages/settings_ui)
設定画面を簡単に作れます。

[flutter_screenutil](https://pub.dev/packages/flutter_screenutil)
ウィジェットサイズの調整が簡単になります。

[pull_to_refresh](https://pub.dev/packages/pull_to_refresh)
インスタのリフレッシュに近い感じにできます。

[flutterfire_ui](https://pub.dev/packages/flutterfire_ui)
ストリームで取得するデータを簡単にリスト表示できます。

[like_button](https://pub.dev/packages/like_button)
いいねボタンにいい感じのアニメーションがつきます。

[timeago](https://pub.dev/packages/timeago)
Twitterでよくみる「~時間前」「~日前」が簡単にできます。
# 最後に
初めてのリリースだったため、いろんなところでつまずきました。時間があれば個人的につまずいたところなどを記事にできればと思います。