はじめに
私はもともと、アプリ開発の実務経験がある状態からスタートしたわけではありません。
最初のきっかけは、専門学校の前期授業のカリキュラムにモバイルアプリ開発があり、そこで学んだことを使って「実際に自分でもアプリを作ってみたい」と思ったことでした。
今回は、私がどのようにして未経験からアプリを開発し、実際にApp Storeへ公開するまでに至ったのかを振り返ってみたいと思います。
最初は、何を使って開発するかから迷いました
アプリ開発を始めるにあたり、まず迷ったのが使用する言語やフレームワークでした。
アプリ開発について調べてみると、さまざまな言語やフレームワークがあり、それぞれ得意なこと・不得意なことがあると知りました。
私は専門学校でReact Nativeを学んでいたため、最初はそのままReact Nativeを使おうと思っていました。
ただ、調べていくと、
「この技術を理解すれば開発しやすい」
「これは〇〇に強い」
「これは〇〇には向いていない」
など、さまざまな情報が出てきました。
情報を調べれば調べるほど迷ってしまいましたが、最終的にはTypeScriptとReact Nativeを使って開発することに決めました。
理由はとても単純で、React NativeならiPhoneとAndroidの両方に対応できるからです。
当時の私は「アプリを作ればたくさんダウンロードしてもらえるかもしれない」と思っていたので、後からiOS版とAndroid版を別々に作るよりも、最初から両方に対応できた方が良いと考えていました。
今振り返ると少し楽観的だったと思いますが、それも含めて最初の個人開発らしい経験だったと思います。
設計・開発・テスト・公開・運用を一人で行う大変さ
最初はお試しの意味も込めて、自分の趣味である筋トレに関するアプリを作ることにしました。
専門学校でも個人開発の課題は経験していたため、「大変だろうな」ということはある程度分かっていました。
ただ、今回はテーマを決めるところから完全に自分次第でした。
実際に作ろうとすると、
「この機能も欲しい」
「このデザインの方が良い」
「こういう画面も必要かもしれない」
と、どんどんこだわりが増えていきました。
結果として、なかなか自分で納得できず、すぐに開発へ取りかかることができませんでした。
今思えば、最初から完璧なものを作ろうとせず、まず小さく作って公開し、ユーザーの反応を見ながら改善していけばよかったと思っています。
当時は「あれも必要」「これも必要」と完成形ばかり想像してしまい、実際の開発を進められていなかったことは反省点の一つです。
また、一人で開発しているため、進捗もすべて自分にかかっています。
分からないことがあれば、その都度調べて、試して、失敗して、また調べる。
この繰り返しだったので、思っていた以上に大変でした。
AIを「開発パートナー兼先生」として活用しました
今回、一人で個人開発をする中で、とても助けられたのがAIでした。
私の中では、AIを「開発パートナー兼先生」のような位置付けで使っていました。
個人開発では、設計、実装、デバッグ、UI、公開準備など、一人でたくさんのことを考えなければなりません。
その中で、分からないことを質問したり、エラーの原因を一緒に考えたり、実装方法の選択肢を整理したりすることで、かなりスムーズに開発を進めることができました。
もちろん、AIの回答をそのまま使うのではなく、自分でコードの意味を確認し、実際に動かしながら使うことも意識しました。
AIを使うことで、すべてを一人で抱えるよりも、考える時間や調べる時間を大きく減らすことができたと感じています。
一番大変だったのは「公開するところまでやること」
今回、私自身が一番大変だと感じたのは、アプリを実際に公開するところまでやることでした。
開発して、テストして、アプリを動かすというところまでは、専門学校でも何度か経験していました。
しかし、実際にApp Storeへ公開するとなると、それだけでは終わりません。
アプリアイコンの作成、スクリーンショット、説明文、プライバシー設定、App Store Connectの設定、審査への対応など、挙げればきりがないほど多くの作業がありました。
特に最初は何をすれば良いのか分からなかったため、一つひとつ調べながら進める必要がありました。
この経験を通して、「アプリを作ること」と「ユーザーが実際に使える状態で世の中に公開すること」は、かなり違うということを学びました。
アプリを公開して一番嬉しかったこと
アプリを公開して一番嬉しかったのは、最初のダウンロードが発生した瞬間でした。
一番最初に作ったアプリは、自分が使いたい機能を詰め込んだものだったため、完全にユーザー目線で作れていたわけではありません。
デザインもまだ質素で、見にくい部分もあり、「本当に誰か使ってくれるのかな」と不安もありました。
それでも、最初の1ダウンロードが発生した時はとても嬉しかったです。
自分が作ったものを、自分以外の誰かが見つけて、ダウンロードしてくれた。
その経験から、改めて「使ってくれる人がいてこそのアプリなんだ」と実感しました。
そこからは、自分が欲しい機能を追加するだけではなく、
「初めて使う人には分かりやすいか」
「このボタンの位置で迷わないか」
「この機能は本当に必要なのか」
と、少しずつユーザーの目線を意識してデザインや機能を改善するようになりました。
個人開発を通して学んだこと
今回の個人開発を通して、技術的なことだけではなく、サービスを作る上で大切なことも多く学びました。
特に大きかったのは、「完璧にしてから公開する」のではなく、「まず形にしてユーザーに届けること」の大切さです。
最初は完成度を高くしようと考えすぎて、なかなか前に進めませんでした。
しかし、実際に公開してみると、公開して初めて分かることがたくさんありました。
自分で考えているだけでは気づけなかった使いにくさや改善点も、実際にユーザーが使うことを想像することで見えてきます。
そして何より、自分のアイデアが実際にアプリという形になり、世界のどこかにいる人がダウンロードできる状態になったことは、とても良い経験になりました。
まだまだ学ぶことは多いですが、これからも「まず作ってみる」という姿勢を大切にしながら、サービス開発を続けていきたいと思っています。