4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[AI x Flutter] Claudeと伴にFlutterアプリを開発してAIがどこまでできるか試してみた

Last updated at Posted at 2025-12-04

Flutterのすごいところ

1つのコードベースで5プラットフォーム

これがFlutterの魅力です。
従来なら、iOS用、Android用、Windows用...と別々に開発が必要でした。
Flutterなら、1回書けば全部動きます。
開発者にとって、これは革命的です。

Webでも5プラットフォームで動作しますが、ネイティブアプリはサーバー等の運用コストを大幅に削減できます。
個人開発者にとっては、嬉しい話です。

AIはどのレベルまで開発できるか?

世の中では「AIはジュニアレベルのエンジニア」という評価をよく聞きます。

一方では、以下のような評価もよく聞きます。

Gemini_Generated_Image_7b6uov7b6uov7b6u.png

どつらが本当でしょうか?

「世界時計」アプリを開発しながら、AIがどこまでできるか試しています。

初心者では難しい機能

ダークモード対応

ThemeDataとColorSchemeを適切に設定し、ライト/ダーク両方で色のコントラストを調整する必要があります。「とりあえず動く」と「両モードできれいに見える」の差は大きいです。

中級者レベルの機能

右側のカタカナインデックス

iOSの連絡先アプリのような機能です。標準Widgetでは実現できません。自分で実装するか、パッケージを使う必要があります。

リマインダー機能および複数タイムゾーン同時表示

1つの予定に対して、複数のタイムゾーンの時刻を同時に表示します。flutter_local_notificationsとの連携、タイムゾーン計算、データの永続化が必要です。

上級者レベルの機能(開発中)

タイムゾーンマップ

100MB超のGeoJSONデータを処理し、flutter_mapでポリゴンを描画します。ズームレベル別のレンダリング最適化、サマータイム境界での動的な色分け、隣接タイムゾーンとの色の衝突回避が必要です。普通のFlutter開発者でもあまり「やったことがない」領域だと思います。

結論

結果としては、Claudeは上級者レベルになっていると思います。
「ジュニアレベル」という評価は、もう古いと思います。

PM能力があれば、Flutterアプリは作れる

私は、Flutterのコードはほとんど書けません。
でも、PMの役割はできます。

  • 何を作るか決める
  • 出てきたものを評価する
  • 修正を求める

これができれば、Claudeと一緒にアプリが作れます。

開発環境

用途 ツール コスト
設計・判断 Claude Pro(Opus 4.5) 月額$20
実装 Google Antigravity(Sonnet 4.5) 無料
フレームワーク Flutter 無料

Google Antigravityは、2025年11月に公開されたVS CodeベースのIDEです。Claude Sonnet 4.5が無料で使えます。

月額$20で始められます。

開発の流れ

とてもシンプルです。

1. やりたいことをClaudeに伝える
2. Claudeがコードを書く
3. 動かしてみる
4. 違ったら修正を頼む
5. 繰り返し

これだけです。

例:Widgetを作ってもらう

私: 「タイムゾーンのリストを表示するWidgetを作って。
     各項目には都市名、現在時刻、UTCオフセットを表示。
     タップしたら詳細画面に遷移。」

Claude: 「こういう形でどうですか?」
        (コードが出てくる)

私: 「いいね。でも時刻の文字をもう少し大きくして」

Claude: 「修正しました」
        (修正されたコードが出てくる)

この繰り返しで、アプリができていきます。

覚えなくていいこと

Flutterには、何百ものWidgetがあります。

StatelessWidget、StatefulWidget、ListView、GridView、Container、Column、Row...

全部覚える必要はありません。

「こういう表示がしたい」とClaudeに伝えれば、適切なWidgetを選んでコードを書いてくれます。

状態管理のフレームワーク(Provider、Riverpod、BLoC)も使っていません。

シンプルなStatefulWidgetで十分です。

5プラットフォーム対応のコツ

Flutterは「1つのコードで5プラットフォーム」ですが、少しだけ気をつけることがあります。

画面サイズの違い

スマホとデスクトップでは画面サイズが全然違います。

レスポンシブ対応が必要ですが、これもClaudeに頼めます。

私: 「このWidgetを、スマホでは縦並び、デスクトップでは横並びにして」

Claude: 「MediaQueryを使ってこうします」

プラットフォーム固有の機能

通知やファイルアクセスなど、プラットフォームごとに違う部分があります。

これも、Claudeが適切なパッケージを提案してくれます。

なぜFlutterはAIと相性がいいのか

Webよりもコードを書きやすい

Webフロントエンド(React、Vue等)は:

  • コードと画面定義が分離しがち
  • CSSが別ファイル
  • 状態管理のパターンが多様
  • 「正解」が複数ある

Flutterは:

  • Widgetの入れ子構造がそのまま画面構造
  • スタイルもコードの中に書く
  • 1ファイルで完結しやすい
  • AIが「コード」として扱いやすい

Riverpodなどのフレームワークはできるだけ使わない

Riverpod、Provider、BLoC...世の中で使われているから、AIも使おうとします。
でも、これらはAIにとってもコードを複雑にするだけです。
シンプルなStatefulWidgetで十分。

「状態管理フレームワークは使わないで」と指示すれば、AIはシンプルなコードを書いてくれます。

適切な指示が必要

AIは賢いですが、指示がなければ「よくあるやり方」を選びます。
AIは、統計的に多いやり方を選ぶように訓練されています。
運用を考えて、モダーンな構文よりも枯れたものを使いましょう。

  • 「Riverpodは使わないで」
  • 「シンプルなStatefulWidgetで」
  • 「1ファイルで完結させて」

こういう指示を出せるかどうか。

これがPM能力です。
でも、最初からある人はいません。
開発を経験する中で、学習していったらいいと思います。

個人開発でFlutterを選択した理由

Reactは開発時の情報は豊富です。
でも、個人開発で一番の問題は「その後」です。
大量のライブラリに依存するWebアプリは、修正が難しくなります。
Flutterなら、AIを使えば修正も容易だと思います。
個人開発者にとって、これが一番大きな差かもしれません。
AIが活用できる時代になって、評価がかわったと思います。

開発コストについても、以下の図のように思うのですがどうでしょか?

Gemini_Generated_Image_8xdyq48xdyq48xdy (1).png

実際に動かしてみませんか?

テスト公開中です。触ってみてください。

📱 iOS(TestFlight)
https://testflight.apple.com/join/t1dWPyGc

🤖 Android(クローズドテスト)
Google Playのクローズドテストでは、正式公開前に14日間で12人以上のテスターが必要です。個人開発者にとって、この「12人の壁」は意外と高いハードルです。
数分触っていただくだけでも構いません。ご協力いただける方は、ぜひテストにご参加ください。

① Googleグループに参加
https://groups.google.com/g/timej
② Play Storeからインストール
https://play.google.com/store/apps/details?id=net.timej.worldtime

🌐 サイト: https://timej.net

まとめ

Flutter + Claude で、5プラットフォーム対応アプリを作ろう

手織りの布や手作りの陶器には、職人の手仕事ならではの温かさがあります。
数式には、宇宙の真理を表す美しさがあります。
では、プログラムコードに温かさや美しさがあるでしょうか?
コードは、動けばいい。誰が書いたかは関係ありません。
だから、AIが書けてしまいます。


必要なのは、コードを書く能力ではありません。

  • 何を作るか決める力
  • 出てきたものを評価する力
  • 修正を求める力

こういう能力はアプリを作りながら経験して覚えていくものです。
あなたも、作りたいアプリがあるなら、ぜひ試してみてください。

FlutterとClaudeが、きっと力になってくれます。


4
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?