5
2

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と一緒にアプリを作ったら、普通にストア公開できた話

Posted at

結論から書きます。

AIがデザインし、コードを書いたアプリが、
普通に App Store / Google Play の審査を通り、普通に公開できました。

特別な裏技も、ゴリ押しもありません。

ただし、放っておいてできた話ではありません。
AIには、日本語で相当うるさく指示しています。

「FlutterだとAppleの審査が厳しい」は本当か?

今でもよく聞きます。

FlutterだとAppleの審査が厳しいのでは?

結論から言うと、まったく問題ありませんでした。

  • 特別な対策なし
  • ネイティブ実装への書き換えなし
  • 余計な説明のやり取りなし

ごく普通に申請して、ごく普通に審査を通過しています。

Appleが SwiftUI / UIKit を推奨しているのは事実です。
でも、それは Flutterを否定している という意味ではありません。

Appleが見ているのは、

  • どう作ったか
    ではなく
  • 何ができて、どう感じるか

UIの品質とユーザー体験が良ければ、フレームワークで差別されません。

UIを良くすると、コードは汚くなる

ここで、一つ認めなければいけないことがあります。

UIを良くしようとすると、コードは汚くなります。

  • padding の微調整
  • 色の細かい指定
  • レスポンシブ対応
  • 端末ごとの調整

全部、コードを冗長にします。

でも、ユーザーが見るのはコードではなくUIです。
Appleの審査も、コードを読むのではなく実際に触って体験します。

「綺麗なUI」と「綺麗なコード」は、基本的に両立しません。
どちらを取るかと言われたら、ユーザーに届くのはUIです。

「ロジックとUIを分離せよ」は、個人開発では間違い

一般的に言われます。

ロジックとUIは分離すべき

個人開発では、これは間違いだと思っています。

Flutterは宣言型UIです。
「この状態なら、こう表示する」を書く世界。

状態と表示は、最初から一体になっています。
無理に分離すると、かえって読みにくくなる。

そもそもこの原則は、

  • ロジックを書く人
  • UIを書く人

が別だった時代の名残ではないでしょうか。

個人開発なら、分ける理由がありません。

共通化しない。DRYを捨てる

もう一つ、捨てた常識があります。
DRY(Don't Repeat Yourself)です。

共通化すると

  • 依存が生まれる
  • 共通部品を変えると複数箇所が壊れる
  • コードを追う範囲が広がる

共通化しないと

  • 似たコードは増える
  • でも、それぞれ独立している
  • 一つ直しても他に影響しない
  • 壊れたら、そこだけ直せばいい

AIを使う開発では、これが特に重要です。

AIにとって問題なのは「書く量」ではありません。
いくらでも書けます。

問題になるのは 「読む量」 です。

共通化すると、依存が増え、
AIが追うべき文脈が分散します。

重複を恐れない。
効率より、独立性を取る。

ただし、全部を捨てるわけではない

もちろん問題もあります。

同じロジックが複数箇所にあると、

  • 仕様変更
  • バグ修正

で全部直す必要が出てきます。

なので、重要なロジックだけはサービスに切り出します。

結論:AIにうるさく言うのは、この2つだけ

1. 重要なロジックはサービスに切り出して管理する

AIはコードを書くのは得意です。
でも、アプリ全体を俯瞰するのは苦手です。

  • API呼び出し
  • データ変換
  • ビジネスルール

こうした部分はサービスに切り出し、
「ここだけは間違えるな」とうるさく管理します。

2. UIは、実際に動かしてうるさく言う

AIがUIを完璧に作るのは、まだ無理です。

UIはコードで管理するものではなく、
実際に触って、納得できるまで修正させるもの。

これはAppleの審査と同じです。

最後に

今回公開したアプリはこちらです。

70歳の個人開発者が、AIと一緒に作ったアプリです。
Flutterで開発した初めての本格的なアプリですが、それでも、普通にストア審査を通り、普通に公開できました。

次回は、
Flutterでの具体的な実装例と、個人開発向けのプロンプトを紹介します。

ご意見・ご要望があれば、ぜひ聞かせてください。

5
2
0

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
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?