AIを最強のペアプログラマーにして、Flutter開発を学び、加速させるための実践的なレシピ集。
このCookbookは、「AI機能を使うアプリ」を作るためのものではありません。 AIと"共に"、"協力して"、高品質なFlutterアプリを効率的に開発するための、新しい時代の開発スタイルを探求し、その知見を共有する場所です。
プログラミング初心者から経験豊富な開発者まで、AIとの共同作業に興味があるすべての人を歓迎します。
このai-x-flutter/cookbook
は、「AIと協力して、一体どうすれば質の高いアプリを効率的に開発できるのだろう?」という、私自身の素朴な問いから始まりました。
この問いへの答えを探すため、私はAI(ChatGPT/Google AI)をパートナーとして、数百回にわたる対話を重ねました。
このCookbookは、その長い対話の結晶です。ここに書かれている文章、コード例、そしてこのリポジトリの構成そのものに至るまで、その多くがAIとの共同作業によって生み出されました。
私は「編集長」として問いを立て、方向性を示し、AIからの提案を吟味・修正しました。AIは「優秀な共著者」として、膨大な知識から瞬時に回答とコードを生成し、時には私自身も気づかなかった視点を提供してくれました。
したがって、このCook-bookは、単にAIとの開発手法を解説するだけでなく、その制作プロセス自体が「AIと人間がどのように協力して、新しい価値を創造できるか」という壮大な実験でもあります。
どうか、このレシピ集をあなたの学習に役立ててください。そして、あなたもAIとの対話を通じて得た新しい発見があれば、ぜひPull Requestを送ってください。それもまた、この素晴らしい対話の続きとなるのですから。
- 新しい学習スタイル: AIを「24時間付き合ってくれる家庭教師」として、Flutterの基本概念から実践的な開発プロセスまでを学ぶ方法。
- AIとの対話術: GitHub Copilot, Google AI Studio, ChatGPTから、意図通りのコードやアイデアを引き出すための具体的なプロンプト技術。
- モダンな開発ワークフロー: 状態管理(Riverpod)、CI/CD(GitHub Actions)など、現代的なアプリ開発に不可欠な技術を、AIの助けを借りて効率的に実装する手順。
- 実践的なトラブルシューティング: 誰もが遭遇するエラーの原因を理解し、AIと共に解決していくための具体的な手法。
このCookbookは、あなたが料理の腕を上げていくように、ステップバイステップで学べる構成になっています。
開発を始めるための全ての準備を整えます。
- #1-1: Flutter開発環境の準備
- #1-2: AI開発ツールの導入(AIという名の教師)
- #1-3: 最初のFlutterアプリ作成とプロジェクト探検
- #1-4: アプリのIDとアセットの準備
- #1-5: 自分のプロジェクトをGitHubで管理する
- #1-6: GitHub CLIでPCを認証する
アプリの「骨格」となる、Flutterの基本的な考え方を学びます。
- #2-0: はじめに - なぜ概念を学ぶのか
- #2-1: Flutterの心臓部「ウィジェット」とは何か?
- #2-2: 状態管理(State Management)とは何か?
- #2-3: 非同期プログラミング(Futureとasync/await)
- #2-4: 画面遷移の基本(Routing)
- #2-5:
BuildContext
とは何か? - ウィジェットの「現在地」
AIと共に、一つのアプリをゼロから完成させるまでの開発フローを体験します。
- #3-1: AIと決めるシンプルなプロジェクト構成
- #3-2: AIと対話しながらUIを構築する
- #3-3: AIと実装するロジックと状態管理
- #3-4: AIによるデータ永続化の実装
- #3-5: AIを擬似サーバーにして、API通信を実装する
- #3-6: AIによる最終コードレビューと品質向上
- #3-7: 手動でのリリースとストア公開
- #3-8: Androidビルドの自動化 with GitHub Actions
- #3-9: iOSビルドの自動化 with GitHub Actions
特定のタスクに特化した、AIの能力を最大限に引き出すプロンプト技術集。
- #4-1: AIとの対話を強化するJSON活用術
- #4-2: AI駆動UI開発 - アイデアからコードへ
- #4-3: AIによるロジックと状態管理の実装
- #4-4: AIによるリファクタリングとテストコード生成
- #4-5: AIによるドキュメンテーションとエラー解析
- #4-6: AIによるアプリの多言語対応(国際化)
- #4-7: AIによるパフォーマンス最適化
- #4-8: AIと描くCustomPainter - 数学をコードに
具体的なアプリをテーマに、ゼロから完成までを追うケーススタディ集。
オープンソースへの貢献や、チーム開発で必要となるGitのスキルを学びます。
開発中によく遭遇する問題とその解決策。困った時に開いてください。
- #7-1:
Could not read workspace metadata
エラーを解決する - #7-2: Flutterビルドエラー上級編
- #7-3:
Null check operator used on a null value
エラーを理解する
AIと共に、Flutterアプリのためのバックエンド(BFF)をDartで構築します。
- #8-1: なぜDartでバックエンドを作るのか? (BFFの概念)
- #8-2: Dartバックエンドフレームワークの選定
- #8-3: AIと作るシンプルなREST API (Dart Frog編)
- #8-4: FlutterアプリとDartバックエンドでコードを共有する
- #8-5: AIと創るフルスタック認証 (Serverpod編)
- #8-6: AIと実装するリアルタイム通信 (WebSocket編)
- #8-7: AIとデプロイするDartバックエンド (Cloud Run編)
コーディングを始める前に、AIと共にアプリの「魂」を設計します。
- #9-0: はじめに - なぜ設計が重要か
- #9-1: AIと創るデザインシステム
- #9-2: AIと定義するユーザーペルソナとユーザーストーリー
- #9-3: AI x Flutter時代のキャリアパスを設計する
このCookbookは、コミュニティと共に成長していきます。 新しいレシピの提案、誤字脱字の修正、より良い説明のアイデアなど、どんな小さな貢献も大歓迎です。IssueやPull Requestをお気軽にお送りください!
このリポジトリは、コンテンツの性質に応じてライセンスを使い分けています。
docs/
ディレクトリに含まれるすべてのドキュメント(文章、マニュアル)は、Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0) の下でライセンスされています。
このライセンスは、このCookbookの知識が、常にオープンな形でコミュニティに共有され、発展し続けることを保証するためのものです。このドキュメントを元に派生作品を作る場合は、同じライセンスで公開してください。
examples/
ディレクトリに含まれるすべてのサンプルコードは、Creative Commons Zero v1.0 Universal (CC0 1.0) の下で、パブリックドメインに提供されています。
これは、あなたがCookbookで学んだコードを、いかなる制約もなく、著作権表示の義務すらなく、商用・非商用を問わず、あらゆるプロジェクトで完全に自由に、そして安心して再利用できるようにするためです。