Flutter開発日誌 Vol.1

まさにドラえもんの歌の様に作ってる世界がある。

世の中にないのであれば自分で作ってみればイイ!

というわけで作ってみたいと思います

作成環境

いま手元には、surface X しかなく・・・・何をやるにしてもマシンスペックが微妙に足りません。

その為、現時点では構想を練りたいと思います。

PC:Surface X

相棒①Gemini くん

相棒②Claude くん

コードを書けなくてもアプリが作れる!が昨今では流行りですが
それで確かに作れますが、それは1人だからできること。ちゃんとドキュメントに起こさないと。

アプリを作るのにあたって、ビジネスであれば要件定義→基本設計 等に取り組むと思います。

claudeで作成するにあたって、どうステップを踏めばよいですか?

さすがですね!Web開発のご経験があるからこそ、上流工程の重要性を理解されているのは大きな強みです。

Claude(AI)との開発では、従来のウォーターフォール型(要件定義→設計→…)を**「AIが理解しやすい形」**にアップデートすることで、爆速かつ正確に開発が進みます。

おすすめのステップは以下の**5ステップ**です。

---

## ステップ1:コンセプト・要件定義(対話フェーズ)

まずはClaudeのチャット(Web版)で、「何を作るか」の芯を固めます。

* **やること:** ターゲット、解決したい悩み、必須機能(MVP:最小限の機能)を箇条書きにする。
* **Claudeへの指示:** > 「[アプリ名]の要件定義をしたい。ターゲット、目的は〇〇。必要な機能をリストアップして、優先順位をつけて。」

## ステップ2:基本設計・UI設計(ビジュアルフェーズ)

次に、画面遷移と見た目のルールを決めます。

* **やること:** 画面の一覧(ホーム、設定、記録など)と、CSS経験を活かしたデザインルール(フォント20px以上、高コントラスト等)を決めます。
* **Claudeへの指示:**
> 「このアプリの画面遷移図をテキストで作って。また、Flutter で作る場合の、おすすめのディレクトリ構成(フォルダ分け)も提案して」



## ステップ3:開発環境構築と「CLAUDE.md」の作成

ここから **Claude Code** の出番です。

* **やること:** フォルダを作り、**`CLAUDE.md`** という指示書ファイルを作成します。これがAIにとっての「仕様書」になります。
* **CLAUDE.mdの内容:** * アプリの概要
* 技術スタック
* デザインルール
* ビルド/テストのコマンド


* **ポイント:** これをプロジェクトに置いておくと、Claude Codeが常に仕様を把握した状態でコードを書いてくれます。

## ステップ4:MVP開発(プロトタイプ実装)

一気に全部作らず、まずは「メイン機能が1つだけ動く状態」を目指します。

* **やること:** 「まずは記録画面と保存機能だけ作って」とClaude Codeに指示。
* **ポイント:** CSSの知識を活かして、`StyleSheet`(React NativeのCSS記述)の部分を調整してもらいます。


---

## 💡 週末開発を成功させる「AI時代の設計」のコツ

従来の開発と違うのは、**「完璧な設計書を作ってからコードを書く」のではなく、「設計の骨組みをClaudeと握ったら、すぐに小さな単位で実装させる」**という点です。

設計が固まりすぎていると、AIが提案する「もっと楽でモダンな実装方法」を阻害してしまうことがあるからです。

### **さあ、最初の一歩です!**

まずは **「ステップ1:要件定義」** を始めましょう。

AIが作るにしても、人が作るにしても言葉として定義、何をしたいかを伝えられないと
できないのは変わらないのだなー

ウォーターフォールって・・・

正直、古すぎるよね?と思ったので

ウォーターフォール型以外でClaude開発を進めるのにおすすめの方策はありますか?
Web開発のご経験がある方にとって、AI(Claude)との開発は**「アジャイル(俊敏)」をさらに進化させた「反復・対話型(インタラクティブ・デベロップメント)」**が最も快適で効率的です。

ウォーターフォールのように「完璧な設計図」を先に作らず、**「動くものを育てていく」**イメージです。具体的におすすめの方策を3つ提案します。

---

### 1. MVP(実用最小限の製品)から始める「雪だるま式」開発

最初から全機能(10個の機能など)を設計せず、まずは**「そのアプリがアプリであるための、たった一つの核」**だけを完璧に作ります。

* **例:** * **第1段階:** 「ボタンを押すと現在時刻が記録される」だけの画面を作る。
* **第2段階:** 記録されたデータを保存して、履歴が見れるようにする。


* **メリット:** 途中で「思っていたのと違う」となっても修正が容易で、挫折しにくいです。

### 2. 「CLAUDE.md」を記憶の司令塔にする

AIは会話が長くなると、初期の細かい要件を忘れることがあります。それを防ぐのが **`CLAUDE.md`** というファイルの作成です。

* **やり方:** プロジェクトのルート(一番上の階層)にこのファイルを作成し、以下を常に更新させます。
* **Context:** 「このアプリは〇〇アプリである」
* **Design Rules:** 「フォントは20px以上」「ボタンはこれくらいの余白」


* **メリット:** Claude Codeを立ち上げるたびに、AIがこのファイルを読んで「自分は何者で、何を守るべきか」を即座に思い出してくれます。

### 3. 「プロンプトによるテスト駆動開発」

コードを書く前に、Claudeに**「完成形がどうなっていれば成功か」**を先に定義させます。

* **やり方:** 1.  Claudeに「今から機能を作る。これが成功したと言えるテスト項目を3つ挙げて」と頼む。
2.  Claudeが「①ボタンが押せる ②時間が保存される ③保存後にメッセージが出る」と答える。
3.  それを承諾してから「では、この3つを満たすコードを書いて」と指示する。
* **メリット:** 「AIが勝手に暴走して、動かないコードを大量に生成する」のを防げます。

---

## 💡 Claudeと組む「週末のワークフロー」案

週末の限られた時間で作成をするには、おすすめの流れはこうです:

1. **金曜夜(仕込み):** Claude(Web版)に「明日これをやりたい」と相談し、**要件を箇条書き**にしてもらう。
2. **土曜午前(土台):** Claude Codeに、その要件を **`CLAUDE.md`** に書き込ませ、基本的なプロジェクト構成(Hello Worldが出るまで)を作らせる。
3. **土曜午後(実装):** 画面を1つずつ「会話」しながら作っていく。
4. **日曜(確認):** 自分のスマホに実機転送して触ってみる。

---

### 次のステップ:あなたの「核」を決めましょう

ウォーターフォールの「重たい設計書」の代わりに、まずは **「これだけは絶対に外せない、アプリのメイン画面の役割」** を一つ決めませんか?

例えば:

* 「お薬アプリなら:**今日飲む薬が済んだか一目でわかるチェック画面**」
* 「ゴミ出しアプリなら:**明日のゴミが何かをデカデカと表示する画面**」

どれにターゲットを絞って進めるか決まれば、それに応じた **`CLAUDE.md` の初期草案** を私が作成します!どの案で行きますか?

雪だるま式の方がAI時代には適していると思うけど・・・
この作成するアプリをどうしたいかによる気がする。
更新頻度とか、バグ修正とか。決してAIは完ぺきではないからなぁ・・・
今回はミックスしてやっていきたいと思います!