これまで、アプリを作ったことは一度もありませんでした。
そんな自分が、AIを使って体感約1時間の実作業で、アプリを作ってリリースに向けた作業を進められました。作ったのは、iPhoneアプリ「ただ読むだけ」です。
この1時間にはXcode・macOSの更新や審査待ちは含めていません。審査待ちと再提出を含め、実際の公開までには約4日かかっています。時間の内訳と、審査用の画面操作をAIに任せた体験も後半で紹介します。
名前の通り、原稿を画面に流して、それをただ読むためのアプリです。そして今回、このアプリを作るにあたって、Swiftのコードを1文字も読んでいません。
Swiftを勉強してから作ったわけでもありません。AIにコードを書いてもらい、エラーが出たらAIに直してもらい、必要な機能を追加していき、そのままApp Storeへのリリースまで行いました。
この記事では、次のことを書いてみます。
- なぜ「ただ読むだけ」を作ったのか
- どんなアプリなのか
- Swiftを知らない状態からどうやってリリースまで持っていったのか
- 実際にやってみて、アプリ開発に対する考え方がどう変わったか
きっかけ:動画撮影中に原稿を読みたかった
仕事で動画を撮影する機会がありました。ただ、カメラの前で話してみると、これが意外と難しい。
事前に原稿を書いていても、「次なんだっけ?」となる。かといって原稿を紙や別のモニターに表示すると、目線が大きく外れてしまいます。
そこで欲しくなったのが、カメラの近くに原稿を表示して、自動でスクロールしてくれるテレプロンプターでした。
「まあ、こういうアプリは普通にあるだろう」と思ってApp Storeを探しました。もちろん、ありました。ただ、自分が欲しかったのはかなり単純なものでした。
文章を入れる。文字が流れる。それを見ながら動画を撮る。
これだけです。
ところが探してみると、有料だったり、無料枠に制限があったりして、自分が欲しい使い方を無料でできるアプリを見つけられませんでした。
「原稿を表示して、そのまま撮影できればいい」。そこで、ないなら自分で作ってみようと思ったのが始まりでした。
作ったもの
作ったのが「ただ読むだけ」です。iPhone用のシンプルなテレプロンプターアプリです。
原稿を書いて再生すると、文章が自動で上に流れていきます。それを見ながら話し、そのまま動画撮影もできます。
主な機能
- 原稿の入力・編集と自動スクロール
- スクロール速度・文字サイズの変更
- スクロールの一時停止・再開
- 原稿を見ながら動画撮影
- カメラを使わない読み上げ練習
- 撮影した動画の再生・共有、写真アプリへの保存
- 原稿の自動保存
- テキストファイルの読み込み・書き出し
原稿は撮影中の画面に表示され、保存する動画には入りません。
無料・ログイン不要・広告なし。原稿編集、練習、録画はオフラインで使えます。機能や対応環境の詳細は、上記のApp Store掲載ページにまとめています。
名前通り、余計なことをなるべくしないアプリにしています。
ちなみにSwiftは分かりません
ここからが今回、一番書きたかったところです。
iPhoneアプリなので、中ではSwiftのコードが動いています。ただ、自分は今回、Swiftを勉強していません。
「Swift 入門」みたいな記事も読んでいません。変数の宣言方法も調べていません。SwiftUIの書き方も覚えていません。
もっと言うと、生成されたSwiftコードを読み解くこともしていません。やったことは、「こういうアプリが欲しい」とAIに伝えることでした。
開発の進め方が「コードを書く」ではなくなった
従来のアプリ開発だったら、おそらく最初にこうなると思います。
- Swiftを勉強する
- SwiftUIを勉強する
- Xcodeの使い方を覚える
- カメラのAPIを調べる
- 動画保存の方法を調べる
- 実装する
- エラーを調べる
今回は、最初に「こういうものが欲しい」をAIに伝えるところから始まりました。
例えば、指示のイメージはこんな感じです。
原稿を入力できるiPhoneアプリを作りたい。
再生ボタンを押すと原稿が一定速度で上方向にスクロールする。
スクロール速度と文字サイズを変更できるようにしたい。
コードが生成されたら、Xcodeで実行します。動かなければエラーをそのままAIに渡します。すると、「この部分をこう修正してください」となる。
さらに、
原稿を表示したままカメラ撮影したい。
と伝える。実装される。次に、
録画中でもスクロールを止められるようにしたい。
と伝える。また実装される。この繰り返しです。
自分が書いていたのはSwiftではなく、「どういう動作にしたいか」という日本語でした。
AIに任せても、「何を作るか」は人間側に残る
実際に作ってみて面白かったのは、コードを書かなくても、考えることがなくなるわけではないということです。むしろ別のことをかなり考えます。
- 録画開始と同時に原稿をスクロールするべきか?
- 撮影中に文字サイズを変えられる必要はあるか?
- 撮影した動画をどこに置くか?
- 削除した動画を即完全削除していいのか?
- カメラを使わず原稿だけ読みたい人もいるのでは?
- 初めて起動した人が説明なしで操作できるか?
こういうことは、AIに提案してもらうこともできます。ただ、最終的にどういうアプリにするかを決めるのは自分です。
コードを書く時間が減った分、「ユーザーはどう使うのか」「この操作は面倒ではないか」「本当にこの機能は必要なのか」という部分に時間を使えるようになりました。
これはかなり大きな変化でした。
最初は「文字を流すだけ」だった
最初に欲しかったのは、本当に原稿が流れるだけのアプリでした。
でも実際に使っていると、「速度を変えたい」となります。次に「文字をもっと大きくしたい」となる。さらに「これ、そのまま動画も撮れたら楽じゃない?」となる。
動画を撮れるようになると、「撮った動画をアプリ内で確認したい」「間違えて消したときに戻したい」「原稿を書き出したい」「別のテキストを読み込みたい」と、次の要求が出てきます。
この、作る → 自分で使う → 不満を見つける → AIに直してもらうというサイクルが、とにかく速い。
AIによる開発の一番大きなメリットは、コードを書く速度よりも、この試行錯誤の速度なのかもしれません。
そしてApp Storeに出してみる
自分だけが使うなら、XcodeからiPhoneに入れて終わりでも構いません。今回はせっかくなので、App Storeに公開するところまでやってみることにしました。
ここもAIにかなり聞きました。App Storeに出すとなると、実装のほかにもいろいろな作業があります。
- App ID・Bundle Identifierの設定
- Signing・Archive
- App Store Connectでの登録
- アプリアイコン・スクリーンショットの用意
- アプリ説明文の作成
- カメラ・マイクの利用理由の記載
- プライバシー情報の入力
- 審査への提出
知らない単語がどんどん出てきます。昔だったら、一つずつ検索して記事を探していたと思います。今回は基本的に、
今この画面なんだけど、次に何をすればいい?
このエラーが出た。何が原因?
App Store Connectのこの項目には何を書けばいい?
という形で進めました。
プログラムだけではなく、リリース作業自体もAIと一緒に進められるというのは、実際にやってみるとなかなか衝撃的でした。
そして最終的に審査を通り、「ただ読むだけ」をApp Storeに公開できました。
「1時間」に含めていない時間と、公開までの4日間
タイトルの「1時間」は、アプリを作り、リリースに向けて進めた実作業の体感です。XcodeやmacOSのバージョン更新、アプリ審査の待ち時間は含めていません。
実際には、審査の待ち時間や再提出にかかった時間も含めて、App Storeで公開されるまで約4日かかりました。
つまり、作業開始から1時間後にApp Storeでダウンロードできる状態になった、という意味ではありません。手を動かす時間と、環境更新・審査を待つ時間は分けて考える必要がありました。
Macと開発環境の準備も必要だった
実際に進めてみると、Mac側の準備も必要でした。M1などのApple silicon搭載Macを含め、使うXcodeとmacOSの要件を満たすMacが必要になります。自分の場合も、XcodeとmacOSのバージョン更新が必要でした。
ここは「最新モデルのMacを買わないと公開できない」という意味ではありません。利用するXcodeのバージョンによって対応環境が変わるため、手持ちのMacで必要な環境を用意できるかを確認するのがポイントです。具体的な対応環境は、Apple公式のXcodeシステム要件とApp Storeへの提出要件で確認できます。
審査用の画面操作もGPT astraがほぼ進めてくれた
とはいえ、4日間ずっと操作に悩んでいたわけではありません。個人情報の入力以外は、アプリ審査用の画面操作もGPT astraがほぼ自動で進めてくれたので、ほとんど困りませんでした。
分からない画面の操作方法を聞くだけでなく、その操作自体もかなり任せられた、というのが実際の体感です。
自分で入力する必要がある個人情報は自分で入力し、それ以外の画面操作はAIに進めてもらう。審査や再提出には時間がかかりましたが、その間ずっと自分が作業し続ける必要はありませんでした。
コードの実装だけでなく、公開するための画面操作までAIが支えてくれたことも、初めてのアプリ開発でほとんど困らなかった大きな理由です。
Swiftを知らないのにアプリを公開していいのか
ここは少し考えました。コードを理解せずにアプリを作ることに抵抗を感じる人もいると思います。自分も「さすがに全部理解した方がいいのでは?」とは途中で思いました。
もちろん、プロダクトの規模が大きくなったり、複雑なバックエンドを持ったり、多くのユーザーの重要なデータを扱うようになれば、コードやアーキテクチャを理解する重要性は一気に上がります。AIが書いたものを無条件で信用していいわけでもありません。
今回作りたかったものは、自分自身が欲しかった、小さなiPhoneアプリです。
必要な権限や挙動を確認して、実機で動作確認して、問題があれば修正する。まずはそこまでやって公開してみる。「Swiftをマスターしてから始める」より、圧倒的に早く欲しいものを形にできました。
「プログラミングできる」の定義が変わってきている気がする
今回一番感じたのはここです。
これまでは、「アプリを作りたい → プログラミング言語を覚える」という順番がかなり自然でした。
でも今は、こんな進め方でも形にできます。
- アプリを作りたいと思う
- 仕様を考える
- AIに実装してもらう
- 動かして確認する
- 修正する
もちろん、Swiftを書ける人の方がトラブルシューティングも設計も強いと思います。ただ、「コードが書けないからアプリは作れない」という壁は、かなり低くなっています。
これは、「こういうツールがあったら便利なのに」を日常的に感じている人にとって、大きな変化なのではないかと思っています。
小さい不満は、とりあえず作ってみればいい
「ただ読むだけ」も、壮大なサービスを作ろうと思って始めたわけではありません。
動画を撮影していたときに、「原稿をいい感じに表示してくれる無料のアプリが欲しい」 と思った。ただそれだけです。
数年前なら、「まあ、ないなら仕方ないか」で終わっていたと思います。でも今なら、「じゃあAIに作ってもらおう」という選択肢があります。
実際に作ってみたら、自分で使えるものになり、そのままApp Storeにも公開できました。Swiftは1文字も読みませんでした。それでもアプリは作れました。
今後、AIを使って何を作るか考えるときに、「すごいサービスを作ろう」から始める必要はない気がします。
普段仕事をしていて感じる、「これ面倒だな」「なんでこのツールないんだろう」「この作業だけ自動にならないかな」くらいでいい。
そういう小さな不満を、その場でアプリやツールにしてしまえる。個人的には、そこがAI時代の開発で一番面白いところだと思っています。
まとめ
今回、「ただ読むだけ」というiPhoneアプリを作ってApp Storeに公開しました。きっかけは、動画撮影中に原稿を表示してくれる、自分が欲しいシンプルなアプリが見つからなかったことでした。
開発では、次のやり方でリリースまで持っていけました。
- Swiftを事前に勉強せず、Swiftコードも読まない
- 欲しい挙動を日本語でAIに伝える
- 実機で動かし、問題があればAIに修正してもらう
- 自分で使って改善する
- 審査用の画面操作も、個人情報の入力以外はGPT astraにほぼ任せる
- 実作業は体感約1時間。Xcode・macOSの更新や審査待ちは別で、再提出を含む公開までの期間は約4日
AIによって「コードを書く」ハードルはかなり下がりました。その分、何が欲しいのか。誰がどう使うのか。どこをシンプルにするのか。 を考えることの重要性は、むしろ上がっている気がします。
「こんなのあったら便利なのにな」と思っているものがある人は、一度作ってみると面白いです。プログラミング言語を勉強するところから始めなくても、今なら案外、App Storeまで辿り着けます。