ヘビーXcodeユーザーだったのですが、あまりにSwift Assistが出ないので、VSCode+Clineを試してみることにしました。
準備
- VSCodeをインストール
- VSCodeからXcodeのプロジェクトをビルドできる拡張「SweetPad」をインストール
- Clineの拡張機能をインストール
- Claudeを契約して、5$分のAPI利用を購入し、APIキーを取得
- VSCodeにAPIキーを入力
- .clinerulesを編集
@mizchi さんのルールをベースに
https://zenn.dev/mizchi/articles/all-in-on-cline
@hicka04 さんのVIPERのアーキテクチャ定義を使ってみました。AIにそのまま与えられるぐらいきっちり書かれた良い記事でした。ありがとうございます🙏
https://qiita.com/hicka04/items/09534b5daffec33b2bec#router
プロンプト
これはQiita iOS Clientという、Qiita(https://qiita.com/api/v2/docs)という技術情報シェアサービスの情報をiOSアプリ上で表示するアプリです。すでに私が「Qiita-Client」というXcodeのプロジェクトを追加しました。このプロジェクトで、上記のQiita APIを使って下記の画面を実装してください。
- 記事一覧表示画面(UICollectionViewで実装)
- 記事詳細表示画面(一覧からタップで遷移)
ブランチはfeatureを使ってください。作業がひと段落するたびにコミットしてください。
結果
(ちょっと手直しはしたものの)かなりできてるやん!!ゼロから重い腰を上げてここまで実装する労力を考えると、多少定義済みの実装を2度行なったり、ビルドが通らない実装をしてしまったり、詳細をHTMLで表示してしまっているところはあれど、十分な速度と生産性だということがわかりました。ドメインオブジェクトなど、コアモジュールだけしっかり設計して、それ以外の部分をAIコーディングに頼るっていうのも効果がありそうです。
一覧画面
詳細画面
かかったコスト
1.4$
かかった時間
6分
(人間なら綺麗なコードで30~1時間ぐらいかかると思います)