Flutterがオワコンになる?コード生成AIでReact Nativeが首位になるか?
きっかけ
ここ半年ほどで、コード生成AI(バイブコーディング)によってコーディングの効率が格段に上がりました。
参考:
上の記事から、コード生成AIを以下の2つの種類に分類できます。
- SaaSのコーディングエージェント:Devin, Replit, Lovable, v0, bolt
- 端末上で動かすAI:Cline (Roo-Code), Cursor, Windsurf
特にSaaSのコーディングエージェントがWeb上で動作する手軽さもあり、それらはClineやCursorなどの端末上で動かすAIよりも、インフラなどのエコシステムが作り込まれています(Figmaからコーディングができたり、Vercelにボタン1つでデプロイできるなど)。
そこで、今後、Webとの相性がいいjavascriptで書けるReact Nativeの方がFlutterより優位になるのではないかと思い、調査してみました。
Githubスター数の比較
まだまだ、Flutter人気が続きそうですね。
しかし、バイブコーディングとの相性を考えるとこの先はReact Nativeが爆上がりしていく可能性はありますね。
コード生成AIとの相性
Cline (Roo-Code), Cursor, Windsurfなどのツールは、自分の端末でエディタと連携して使用するため、どのような言語やフレームワークでも変わらずに使用できます。
しかし、v0, Bolt, Replitなどは、どうでしょうか。
試してみたところ、全てReact Nativeは対応していました。
↑ boltは、プロンプトテンプレートとして"Build a mobile app with Expo"が用意されています。Flutterとは書いていません。
↑ また、Flutterで書くように指示を出しましたが、React Nativeでの実装が始まりました。
Flutterは指示を出せばコードを生成してくれる場合はありますが、その場で立ち上げて画面を見ながら進めることができなさそうでした。
基本的にFlutterで最初進めても、"Flutterで書いて"との指示を抜くと途中からReact Nativeでコードを書き始めます。
↑ また、ReactNativeとboltでは、Expoでデバイスプレビューができて、実機で検証ができるのが非常に便利でした。
FlutterFlowとv0
v0×FlutterFlowで実装していく例を見つけました。
FlutterFlowはノーコードでFlutterのアプリを作成できるツールです。
この例では、v0でFlutterのコード自体は生成していますが、Web上でプレビューができないので、v0上でそのまま壁打ちして進めていくのが難しそうです。また、単一の画面を生成することはできてもv0自体がFlutterプロジェクト全体のコードを生成して動作させることができないと、なかなか開発を進めるのが厳しい気がします。
↑ v0でFlutterのpreviewができない
あと、v0のエコシステムを利用できない(デプロイなど)なら、ClaudeやChatGPTで生成したコードをFlutterFlowに貼り付ければよくて、v0を利用する利点が特に無いと思います。
モバイル向けの 【a0】 ならFlutter対応してる?
a0とは:a0.devは、AI技術を活用してテキスト説明からモバイルアプリを生成する革新的なプラットフォームです。
↓ 使用してみたところ、こちらもReact Nativeにしか対応していないようです。
また、boltでexpoのアプリから実機検証ができるように、
a0でも、a0用のアプリをインストールすることで、QRコードから実機検証ができます。
まとめ
同じようなことを考えている方をXで見つけました。
「http://Bolt.new」も「http://a0.dev」もどちらもExpo(React Native)を選択しているということは、今後のモバイルアプリ開発の潮流はFlutterではなくExpoになっていくのかもしれない
- ReplitやBoltなどのAI開発環境がExpoをサポートしていてさらに採用する人が増える可能性がある
今後、ReplitやBoltなどがFlutterをサポートする可能性はあるので、React Nativeに乗り換えるべきかは、まだしばらく様子見が必要かなと思います。
逆にこれが実現しそうにないなら、長期的に見てReact Nativeに乗り換えるべきだと思います。
個人的には、1年半ほどFlutterを使用しているので、そのままFlutterを使い続けたい気持ちもあります。しかし、Reactの方は長年使用しており、慣れているということもあるので、生成AI云々無しに、単にReact Nativeが使いやすければこれを機に乗り換えようかなと思ったり思わなかったりしてます。
次は、React Nativeを触ったことないので、次は触ってみて比較する記事を書こうと思います。
おわり。
Discussion
新しいことへの挑戦は良いことだと思います。Expo触っていますが今後伸びるのではと思ってまります。
生成AIはUIを綺麗に作るので、フロントエンドはもしかしたら人間からAIに任せるのが増えるかも?
Bolt.newは綺麗なUIを作ってくれます。