生まれて初めてアプリをリリースしました!
私は普段クラウドエンジニア(AWSなど)として働いており、モバイルアプリ開発は完全に初挑戦です。
この記事では、初心者なりにどのように開発を進めたかをご紹介しようと思います。
作ったアプリ
多言語対応の運転免許学科試験対策アプリを作りました!
日本の運転免許取得に必要な知識問題を、複数言語(日本語/英語/中国語/ベトナム語)で学習できるアプリです。外国籍の方が正しい道路交通法を身につけ、安全運転に役立てていただければと考えています。
頑張って作ったので、ぜひダウンロード&高評価お願いします…!
背景
昔から自分でアプリ開発をしたいという思いはあったのですが、どんなアプリを作ろうかというところで悩んでいました。
そんなある日、以下の記事を見つけました。
それならば――
- 既存の問題集よりも充実したコンテンツを提供し
- 多言語対応で学びやすくし
- 日本で運転する外国の方の安全をサポートしよう
という想いで、1時間後には見切り発車で開発をスタートしました。
もっと競合アプリの存在などを詳細に分析するのが望ましいですが、スピード感の方を重視していました。
開発
「こういうアプリを作りたいんだけど、どうしたら良い?」というのをChatGPTに聞いたところ、ChatGPTがいい感じの要件書を作成してくれました。
• フロントエンド: React Native
• データベース: Firebase Firestore
• 認証: 匿名ログイン
• 課金: RevenueCat
といった技術スタックを、ChatGPTの提案をベースに決定。
ここからVS Codeを立ち上げ、コーディングを開始しました。
ワイヤフレーム作成や画面設計はしていません。
コード書かせてみてイマイチなら、その場で修正して貰えば良いという考え方でした。
「まずは匿名ユーザーを作成する機能を実装して」
→chatGPTが出してきたコードを反映させる。
「次に問題表示機能を実装して」
→chatGPTが出してきたコードを反映させる。
こんな具合に開発を進めていきました。
機能自体はエラーが発生する頻度も少なく、順調に開発が進んでいきました。
ただし、当初ChatGPTが出してきたUIがシンプルすぎたので、「もう少し近未来的なデザインにして」というざっくり指示を投げました。
それでもデザインに納得いかなかったので、上海ディズニーのTRON(近未来的デザインのジェットコースター)の画像を渡して、「こんな感じで近未来的なデザインにして」とざっくりデザイン案を提示したら、いい感じになりました。
※補足
GWに行った上海ディズニーランドで見たTRONがカッコ良すぎたので、こんな感じのデザインにしたいなあと思っていたという背景があります。
セキュリティとエラーハンドリング
初心者開発だからこそ「安心して使ってもらえるアプリ」にしたい。
そこで以下をChatGPTと一緒に重点的に確認しました:
• 認証フローの安全性(匿名認証トークンの管理)
• Firestore ルールの厳格化(ユーザー自身のデータのみアクセス許可)
• 想定外入力へのバリデーション強化
コミットごとにChatGPTにレビューさせ、エラーハンドリングの抜け漏れがないかテストコードも自動生成して検証しました。
ビルド&リリース
そんなこんなで2~3週間くらいかけて、一通りの機能は完成しました。(やはり、ChatGPTすごい。)
ただ、ここで課題が発生しました。
React Native + Expo Go で開発していたものの、実機テストの方法が分からずに苦戦…。
最終的にはApple Developer Programに登録し、EAS Build+TestFlightで実機テストを実施しました。
ビルドやデプロイの概念がほぼゼロからのスタートだったため、調査に約1週間かかりましたが、無事に設定完了。
審査では課金まわりで2回リジェクトを受けましたが、
• プライバシーポリシーと利用規約のリンク設置
• RevenueCat設定の調整
などを迅速に対応し、1ヵ月+1週間でリリースに至りました。
リリース後
そしてなんと、リリース後3日目にして、サブスクリプション契約をしていただけました!
自分が0から生み出した価値であるということを考えると、感慨深いです。このユーザー様に満足いただけるようにアップデートしていきたいと思います。