🧑💻
Vibe Coding禁止! AIと一緒にSwift Core Dataを学習
Vibe Coding禁止
Cursorがあればアプリは作れるようになったけど、Swiftのことを理解できている気がしないです。
師匠にこの悩みを相談したところ、課題を考えていただきました。
「AIコードエディタ、CLIのVibe Coding禁止縛りでアプリを実装してみましょう!」
AIコードエディタ禁止縛りの詳細
師匠から出された課題は以下の通りです:
制約条件
- ❌ VibeCoding(AIによるコード直接編集)禁止
- ❌ CLI(コマンドライン)での自動化禁止
- ✅ Gemini、Cursorへの質問はOK
- ✅ 提示されたコードの手書き書き写しはギリOK
実装要件
- ボタンをタップしたら時刻を表示するアプリ
- その時刻をCore Dataに保存(id, date, created_at)
- 保存したデータをリスト表示
Vibe Codingなしの自分には少し難易度が高い課題でした。
しかし、AIを「先生」として活用することで、完成させることができました。
やったこと
1: 要件定義とリサーチ
- Geminiに要件を伝え、DeepResearchで最新の推奨実装方法を調べてもらう
2: デュアルディスプレイでの開発環境
デュアルディスプレイめっちゃおすすめです!
- 上画面:Geminiで実装の確認と対話
- 下画面:Xcodeでの手書き実装
3: とりあえず全部書いてみる&質問
- Geminiの指示に従ってエラーが出てもいいのでまずは全部書いてみる
- わからない概念や単語はGemini先生に質問
- 詰まったらスクショを撮ってGemini先生に質問
4: エラー解決フェーズ
- 手書きによるスペルミス、{}の過不足など構文エラーが大量発生
- Gemini先生に「何行目のどこを直せばいいか」を聞いてバグを潰していく
5: Cursorに質問して最終調整
- GeminiはDeepResearchを使った状態でも、いい意味で適当なコードを書くので完璧に模写してもエラーが残る場合が多い
- Cursorはファイル全体を参照できるため、より精度の高い実装を教えてくれる
- Geminiの作ったコードの改良箇所を聞いて、手書きで実装していく。
6: Core Data実装できた!
一旦Viewの調整は後まわしです!
Vibe Coding禁止! やってみた感想
学習体験として非常に良かった!
通常のVibe Codingと逆で、AIに質問して、自分で手を動かして実装することで、Swift言語への理解とエラー解決能力が鍛えられた(気がする)
DeepResearchで必要な初期情報を自分に変わってGeminiが集めてくれるので、学習効率が高い(と思う)
Geminiの実装はいい意味で適当なので、それを解決する練習になる。
Discussion