はじめに
この記事では、Flutter初心者の私が2.5ヶ月でアプリを個人開発しリリースするまでの全記録をまとめました。
- 目的: マッチングアプリを開発し、ストアにリリースする
- 開発の流れ:
- スケジュール:
期間 | 内容 |
---|---|
1ヶ月 | コンセプトの文章化・簡単なUI作成(Figma) |
0.5ヶ月 | Firebase・Flutter・Dartの学習 |
1ヶ月 | バックログ作成・デザイン・開発・テスト・リリース |
- 使用技術:
カテゴリ | ツール |
---|---|
フロントエンド | Flutter(Dart) |
バックエンド | Firebase(認証、データベース) |
デザイン | Figma |
インフラ | AWS(iOSアプリビルド用) |
開発管理ツール | Microsoft Azure DevOps |
AI活用 | ChatGPT(相談役) |
- 学習方法: YouTubeや書籍を活用しながら手を動かす
- 工夫したこと: 詰まったらすぐにchatGPTへ相談
個人開発を考えている方の参考になれば嬉しいです!
なぜFlutterで開発したのか?
理由は3つあります。
- クロスプラットフォーム対応(iOS/Android同時開発が可能)
- ホットリロードが使える
- Firebase(Google)との相性が良くて、インフラに悩まされない
筆者自身が他のネイティブアプリ開発言語の経験がなく比較的簡単と聞いたのもあり、Flutterを選びました。
Widgetの取り扱いと状態管理に苦戦しましたが、YoutubeとchatGPTを使ってなんとか理解しました。
初期費用を抑えるために行ったこと
開発コストを最小限にするために、以下の工夫をしました。
✅ クラウド環境を活用
- インフラはすべてクラウドで完結
- Firebase(Firestore & Functions)を活用し、データベース・APIサーバーを別で用意しない
✅ 開発ツールを無料で活用
- Figmaの無料枠を使用
- アイコンやデザインは生成AIで作成
✅ Macを持っていない人向けの工夫
- Xcode(MacOS)が必要なiOSアプリのビルドは、AWSのEC2インスタンスで対応
→ ただし、予想以上に費用がかかる。
支払ったものまとめ
- Firebaseの従量課金
- AWSのインスタンス & 専有ホストの費用
- App Store Connect登録料(年額)
- Google Play Store登録料
- 必要な書籍代
アプリ開発の流れ
1. コンセプト作成
最初に アプリのコンセプトを文章化 しました。
文章化するのは効率が悪いと思いがちですが、コンセプトをしっかり決めると要件定義がスラスラ進むので、全体でみると時間短縮になりました!
💡 ポイント:思いついたらその場でメモ
📌 おすすめメモツール:Google Keep(シンプルでラベル管理が便利)
2. 学習
サービスのイメージを作成 → 必要な知識を学ぶ の流れで進めました。
💡 ポイント
- いきなり書籍や動画を全部見ない
- 必要な知識だけをピックアップして学ぶ
🎨 最初の画面設計は、Figmaではなく紙に描く だけでも十分!
3. MVP UIなし
バックログ(要件定義)を作成 → バックエンド開発 の流れで進めました。
💡 ポイント
- スプリント単位は 1週間 に設定
- User Storyは タイトルのみ にして、開発スピードを優先
- デザインは最低限に抑え、バックエンドを先に完成 させる
言語やプラットフォームを知らない状態で要件を定義しても、それが実現できるとは限りません。
まずはどのようなことが実現できるのかを学習したうえで、要件定義に進みましょう!
4. MVP
デザインをFigmaで作成 → フロントエンド開発 の流れで進めました。
💡 ポイント
- デザインは統一性 & わかりやすさ重視
- UX的に不足があればバックエンドも調整
📖 参考書籍:『ノンデザイナーズ・デザインブック』
フロントエンドはある程度融通が利くので、バックエンド開発の後にしています。
アーキテクチャやアルゴリズムを確立したうえで、デザインを仕上げましょう!
5. リリース
最後に、App Storeへのリリースを行います。
💡 ポイント
- リジェクトされたらすぐ対応して再提出
- めげずに提出し続ければOK!
開発中に直面した課題と解決方法
① コンセプト作成時
マッチングアプリをリリースするには、法務的な手続きが必要と判明。
🔹 必要だった関連法律
- 電気通信事業法
- 出会い系サイト規制法
書類を集めて提出するだけですが後回しにすると大変なので、早めに対応しましょう。
あなたがリリースするアプリに手続きが必要な関連法律がないか、事前に調べておくことが重要です!
弁護士に相談するとコストがかかるため、まずはChatGPTを活用して情報を収集するのも有効です。
② バックログ作成時
MVP(最低限の機能でのリリース)では、「どこまでの機能を含めるべきか」が課題でした。
💡 判断基準としたのは、コンセプト作成時に立てた仮説
→ 仮説を検証するために最低限必要な機能をピックアップ。
📖 参考書籍: 『リーン・スタートアップ』
③ リリース時
iOSアプリの審査では、何度もリジェクトされました…。
🚨 指摘された内容
- ストア掲載スクリーンショットにAndroid端末のイメージが入っていた
- キーボードの挙動に問題があった(外部タップで閉じない)
- アプリのコンセプトが他のアプリと重複している
- 不適切なコンテンツの投稿対策が不十分
これらを1つずつ修正し、対応した内容を審査メッセージで伝えることで最終的に承認されました。
個人開発を効率的に行うポイント
✅ コンセプトを文章にする
→ 設計・開発がスムーズに進みます。コンセプトが明確だと、開発の方向性がぶれません。
📖 参考書籍:『コンセプトの教科書』
✅ 学習しながら開発する
→ YouTubeや書籍は「読む・聞く」だけでなく、実際に手を動かしてコードを書いたりデバッグしたりしましょう。
書いたコードは、MVPの開発に積極的に取り入れましょう!
✅ わからないことやエラーはchatGPTに即相談
→ 公式ドキュメントは網羅的に書かれているため、情報量が多く理解に時間がかかります。
完璧に読み込もうとせず、インターネット上の膨大なデータを頭に入れているChatGPTを頼りましょう!!
✅ 定期的に報告する場を作る
→ 進捗を友人や開発仲間に共有することで、モチベーションを維持しましょう。個人開発は健全なメンタルがあってこそせいりt。
参考
📚 本
- 『リーンスタートアップ』 → MVP(最小限のプロダクト)開発の考え方を学ぶ
- 『コンセプトの教科書』 → アプリのコンセプトを決めるのに役立つ
- 『ノンデザイナーズ・デザインブック』 → デザインの基礎を学ぶ
🎥 YouTuber
- Rubydog → 日本語でFlutterの基礎学習
- Mitch Koko → Flutterアプリ開発の実践的な解説
- Flutter公式チャンネル → 最新情報をキャッチ
おわりに
本記事が、Flutterでの個人開発を始める方の参考になれば幸いです!
ぜひ、あなたも アイデアを形にしてみましょう!
📝 ハッシュタグ
#Flutter
#Firebase
#個人開発
#Dart