ネイティブ化を決断 — まず無料のAndroidで作ったら、背景GPSが動いた感動【開発記 #4】
ツーリング記録アプリを作る個人開発の連載、第4話です。第3話では、PWAの壁——バックグラウンドでGPSが記録できず、走行記録アプリとして成立しなかった話を書きました。今回は、その壁をどう越えたかです。
結論:やはりネイティブ化しかなかった
さんざん悩みましたが、結論はシンプルでした。やはりネイティブ化しないと、このアプリは使い物にならない。
走っている間、画面が消えていても記録を取り続ける——この一点が成立しないなら、走行記録アプリとして存在する意味がありません。PWAで粘る道は、ここで諦めることにしました。
でも、いきなりiPhoneには行かない——「まず無料のAndroid」
ここで第2話の悩みがまた効いてきます。iPhone(iOS)のネイティブアプリは、開発者登録に年額費用がかかる。一方で、Androidは開発・検証を無料で進められる。
そこで立てた戦略がこれでした。
まず無料で作れるAndroid版で「背景での記録が本当に動くか」を検証する。 動けば、その後でiPhone版にも反映すればいい。
これもAIに相談して固めた判断です。いきなり費用のかかるiPhoneで博打を打つのではなく、リスクゼロの無料の土俵で、まずコア機能を証明する。第2話の「安く始める」「小さく試す」という方針が、ここでも一貫しています。
Webの資産は無駄にしない
ネイティブ化といっても、PWAで作ってきた画面やUIをゼロから作り直すわけではありません。Capacitorのように、Webで作った資産をそのままネイティブアプリの中身として動かせる仕組みを使えば、これまでの作業を活かしつつ、ネイティブの機能——背景での位置情報取得——を足すことができます。
「PWAから始めたのは遠回りだったのでは?」と思うかもしれませんが、そうではありませんでした。Webで作った部分はそのまま生き、足りなかった“背景で動く力”だけをネイティブで補う。第2話のPWAファーストは、ちゃんと地続きで活きていたのです。
そして、背景GPSが動いた——素直に感動した
Android版を開発し、いよいよ走行記録のテスト。アプリを前面に出さなくても、画面が消えていても、記録が取れている。
第3話で「これPWAじゃ無理なのでは……」と心が折れかけた、あの核機能が、ついに動きました。バックグラウンドを含めてちゃんと動いたときは、素直に感動しました。
個人開発をしていると、地味な実装が延々と続きます。そのなかで、「アプリの存在理由そのもの」が動いた瞬間というのは、何物にも代えがたい。安く始めて、壁にぶつかって、無料の土俵で粘って、ようやくたどり着いた——その積み重ねがあったぶん、余計に効きました。
学び:段階的に、安く、正解へ寄せていく
ここまでの流れを振り返ると、一貫しているのは「段階的に、コストを抑えながら、正解に寄せていく」という進め方です。
- まずPWAで費用ゼロでスタート(第2話)
- コア機能の壁にぶつかる(第3話)
- いきなりiPhoneに行かず、無料のAndroidでネイティブ検証(今回)
- 動いたら、iPhoneへ展開
最初から「ネイティブで全部・両OS対応」を狙っていたら、費用も労力も先に膨らんでいたはず。小さく試して、動いてから広げる。AIを相談相手にしながらこの順序で進められたのは、個人開発として正解だったと思います。
次回予告
コア機能が動いた——ここからは「人に使ってもらう」フェーズです。次回は、アプリストアでの公開に向けた準備や、その過程での苦労を書いていく予定です。作ることと、届けること(売ること)は、また別の山があります。続けて記録します。
※ 本記事は当方の実体験に基づく個人開発の記録です。費用や各OSの仕様は2026年時点のもので、今後変わる可能性があります。