【スマホアプリ開発の完全手順】初心者でもできる6STEP
「個人でスマホアプリを開発して収入を得たい」
そんな方が増えてきています。
一昔前はスマホアプリより先に、ホームページやWebサービスを開発するのが主流でしたが、現代はスマホアプリの重要性が飛躍的に高まりました。
とりわけ日本ではiPhoneのシェアが高いので、スマホアプリと言えばまずiOSアプリを指すのが一般的です。
ところが、実際にiOSアプリを作るとなると、どういった手順で進めれば良いのかわからないという方が多いようです。
今回はiOSエンジニア専門のオンラインプログラミングスクールである「iOSアカデミア」より、アプリ開発の手順を解説していきます。
闇雲に作業をはじめてしまうと、後々トラブルになることもありますし、事前に手順を押さえておくことで開発中に迷うこともなくなります。
是非最後までご覧ください。
スマホアプリを開発する6STEP
まずは、大まかにどういった手順を踏んでいくのか確認しましょう。
iOSアプリ開発に限らず、ものづくりにおいていきなり制作の作業に入ってしまうのは得策ではありません。
- 要件定義
- アプリの設計
- 開発スケジュール決め
- 開発
- テスト
- リリース
上記の全体の設計や作業量、作業の順番などをイメージした上で動き出さないとすぐに行き詰まってしまいます。しっかりと手順を頭に入れておきましょう。
STEP1.要件定義
まず最初に取り掛かるのが、「要件定義」です。「どんなアプリなのか」を明確にしていきます。
ここで定義された内容を元に開発が進んでいきますので、非常に重要です。
コンセプトの決定
まずはアプリのコンセプトを決定します。「どんなアプリなの?」と聞かれたときに、一言で説明できるまで具体化しておくと良いでしょう。
どんなアプリで、どんなメリットがあり、既存の類似アプリと何が違って、ユーザーにはどんなメリットが有るのか。このあたりをスラスラ答えられないようではコンセプトが固まっているとは言えません。
初心者の場合はできるだけ単機能に絞るほうが良いでしょう。つい総花的な大規模アプリをイメージしてしまいますが、初心者が個人で開発する場合にはまず「やりきる」ことが重要になります。
Facebookのように何でも出来るアプリを目指すのではなく、例えば「料理のレシピを投稿、閲覧出来る。」といったシンプルな機能に絞ったほうが開発しやすくなります。
機能は後で追加するほうが、絞るより遥かに簡単であることも覚えておきましょう。
要件洗い出し
コンセプトが決まったら、アプリに求められているもの・ことを要件としてリストアップしていきます。
要件とは「満たすべき条件」と言い換えることも出来ます。先述の「料理レシピアプリ」であれば、
- 料理のレシピを投稿/閲覧出来る
- レシピに従えば目的の料理が作れる
- 料理中にも見やすい
- 初心者でも作業がイメージしやすい
などになります。
どんな要件を満たせば、アプリコンセプトが実現するかを漏れなく、重複なくリストアップしていく作業になります。
STEP2.アプリの設計
コンセプトが固まり、要件のリストアップが終わったらアプリの設計に入ります。
どんなデザインにするのか、使い勝手はどんなイメージか、プラットフォームやメインのメディアはどうするのか、といった内容になります。個別に見ていきましょう。
機能洗い出し
前項でピックアップした要件を満たすために必要な機能をリスト化していきます。
普段何気なく使っているアプリでも、シンプルな要件を満たすために様々な工夫がされています。
先程のレシピサイトでピックアップした要件の場合でも、
- 検索/カテゴリー分けしやすいようにタグ機能をつける
- 閲覧しやすいように投稿時に文字数制限をつける
- わかりやすいように必須入力項目を設ける
- 料理中にも目的の部分を見やすいように目次をつける
- 初心者のために動画投稿機能をつける
などなど、無数に必要な機能が出て来ます。
最初に必要な機能を把握しておかないと、プログラミングやデータベースの設計を作業中に考えることになってしまい、二度手間になってしまいます。
もうこれ以上はない、と言えるくらいまで考え尽くしてリスト化しておきましょう。
データ設計
機能のリスト化が出来たら、その機能を実現するために必要なデータをリスト化していきます。
一つのアプリの中に無数のデータベースを用意することになりますが、必要な機能によってデータベースが持つべきデータも変わってきます。
レシピの場合はレシピ名、画像、動画、タイトル、手順、材料リスト、カテゴリーなどが必要になります。
またそれ以前にユーザーのデータベースも必要なので、氏名、ユーザーID、自己紹介、プロフィール画像、料理歴、得意ジャンルなど必要な機能に合わせてピックアップしていきます。
こちらも事前のリスト化に漏れがあると作業中にデータベースに変更を加える必要が出てきてしまい、二度手間になります。
ワイヤーフレームの作成
いよいよ開発らしい作業に入ります。ワイヤーフレームとはアプリのレイアウトを決める設計図のこと。
アプリの基本となる骨組みを作成します。大枠の見た目だけでなく、画面遷移図も作成すると良いでしょう。
スマホアプリは、必要なタップ数が一回増えるだけでもユーザーの離脱率に大きく影響すると言われています。また、無駄なコードの記述があるとアプリの動作速度にも影響があるため、ワイヤーフレームの作成はアプリの使い勝手の部分においてとても重要です。
既存の類似アプリで、人気のあるアプリの設計や画面遷移を参考にして作成していきましょう。
ワイヤーフレームの作成にはdiagrams.netの使用がおすすめです。
個人アプリとかWEBサービス作るならGoogle Drive上で無料で使えるhttps://t.co/8EGnGmFkqeが圧倒的にオススメ
— ヤマタク@iOSアカデミア (@yamataku_init) October 22, 2021
ドラッグ&ドロップでサクサクワイヤーフレーク作れるし、それだけである程度ならデザインが完成出来ちゃう
画面遷移図とか、ビジネスロジックフロー図とかをまとめるのにもいい感じ pic.twitter.com/NVxmJT3LB6
STEP3.開発スケジュール決め
ここまでで、設計は終わりました。いよいよ開発に、と行きたいところですがまずは開発のスケジュールを作成します。
スケジュールを把握しておかないと全体の作業量や所要時間がわからず無駄な焦りを生む原因にもなりますので、しっかり確認しましょう。
タスク洗い出し
ここまでで作成した設計、要件、機能を満たすために必要なタスクをピックアップ、リスト化していきます。
GitHub issueというツールを使ってリスト化していきますが、1issue当たり2~3日の作業で完了する程度まで細かくしていきましょう。
実際に作業を始めると意外と早く終わったり、思わぬエラーで時間を取られたりするので正確性はあまり気にする必要はありません。
必要なタスクと予測工数を把握しておくことに意味があります。
スケジューリング
ここではタスクより大きな単位でのスケジュールを組んでいきます。
GitHub Projectというツールを使い、Stack, Wip, Doneといったステータスで管理していきます。
期間ごとにProjectを作成してIssueをアサインしていきますが、こちらもあまり大きくなりすぎないようにすると良いでしょう。
1Project 当たり、1~2週間で組んでいくことを推奨しています。
STEP4.開発
ここまで事前準備が出来たらいよいよ実際の開発に入ります。初心者のうちはどれだけ事前準備をしても不測の事態は起こります。
エラーや設計変更の必要がでたら焦らず、設計や要件の段階から見直して丁寧に進めていきましょう。
STEP5.テスト
開発が終わったら、イメージ通りに動作しているか、バグはないか、エラーがないか、動作が遅くないか、といった使い勝手をテストしていきます。
ユーザーは開発者の思いもよらないような挙動をするものです。
様々な角度から検証し、不具合やバグはこの段階で修正しておきましょう。
STEP6.リリース
テストが終わったらいよいよリリースです。自分の作ったアプリがApp Storeに並んでいる姿は感慨深いものですが、アプリは開発して終わりではありません。
PRや運用、機能追加やデータ分析など様々なタスクが待っています。リリースで終わりと思わず、どんどん改善をしていきましょう。
アプリ開発に取り組む前に準備しておくこと
ここまで一連の流れをご説明してきましたが、「ちょっと自分には難しそう・・」と感じられた方も多いのではないでしょうか。
それもそのはずで、開発に取り組む前に必要な準備ももちろんあります。
事前に必要な準備を確認しておきましょう。
プログラミングの基礎スキル取得
当たり前ですが、アプリを開発するためにはプログラミング言語の習得が必要です。
世の中には無数のプログラミング言語が存在しますが、iOSアプリ開発に関しては「Swift」という言語一択です。
プログラミング言語だけを学べばよいのかと言うとそうではなく、
- 統合開発環境であるXcode
- 開発プラットフォームであるGitHub
の使い方の習得も必要です。
iOSアプリを開発する上で、このSwift, Xcode, GitHubの理解は必須となりますので、事前にしっかり学習しておきましょう。
開発環境の整備
開発するために必要な環境を整備していきます。
最近ではWindows PCでもiOSアプリの開発が可能になってきました。が、一部でMac OSが必須の機能もありますので、やはりMac OS搭載のパソコンが好ましいです。
Mac PCを用意し、Xcodeをインストール。更にアプリのリリースをするためにApple Developer Program(年額一万円)に加入すれば準備は完了です。
開発環境とそれにかかる費用については「個人がスマホアプリ開発にかかる費用を完全公開!費用を安くすませる方法も紹介」の記事もご参照ください。
常日頃からアイディア出しをしておく
アプリ開発と聞くと技術的な面ばかりに目が行きますが、意外と「どんなアプリを作るのか」というアイディア段階で躓くことが多いものです。
アプリのアイディアを出すコツは「日頃からアイディアを貯めておくこと。」日常生活で不便だと思ったことはすべてアプリのアイディアになりえます。
不便に直面した時、アイディアが浮かんだときはすぐiPhoneのメモ帳などに記録する癖をつけておくと良いでしょう。
具体的なアイディアの出し方は「スマホアプリのアイディアが次々浮かぶ5つ具体的な方法を紹介」も参考にしてください。
アプリ開発時の注意点
アプリ開発について解説してきましたが、ここでは注意点をご紹介します。多くの先人達が経験してきた失敗ですので、同じ轍を踏まないようしっかり押さえておきましょう。
GitHubのソースコードは非公開にする
GitHubはソースコードを共同開発者と共有するツールですが、外部に公開することも可能です。
いわゆるオープンソースのアプリはこういった状態になっていますが、この状態だと外部の人がいくらでもコードを真似、流用できる状態です。
特定の理由がある場合を除いては、原則非公開にしておくと良いでしょう。
有料のAPIは使わない
アプリを開発していく中で、様々なAPIを使いますが、その中には有料のものも存在します。
もちろん無料のAPIより多機能であったり便利であったりすることも多いのですが、アプリの運用は長期間に及びます。
支払いを忘れたり、支払いができなくなった場合にアプリが機能しなくなってしまうので、特に初心者のうちは有料のAPIは極力避けるようにしましょう。
著作権侵害コンテンツは避ける
当たり前ですが、実は気をつけるべきポイントです。
著作権侵害は素人にはわかりにくいグレーゾーンが存在しますし、法的にはアウトでも著作権保有者の判断によるところもあります。
せっかくアプリが完成して、ユーザーがついてから著作権侵害の申し立てを受けてアプリを削除せざるを得なくなる、というのは想定できる最悪のケースでしょう。
こういったことが起こらないよう、事前にしっかりリーガルチェックをしておくことが重要です。
まとめ
本記事ではiOS開発の手順や事前準備、注意点などをご紹介しました。
正直に申し上げて、個人が独学でやり切るのはかなり難しい内容です。
元プログラマのインフルエンサーが「現代の恵まれた環境ならプログラミングは誰でも独学で習得できる。」と盛んに喧伝しています。
これは確かに事実ですが、非常に長い時間と精神的なタフさが求められます。理論上独学での習得は可能でも、自分ひとりでやりきれる方は少ないでしょう。
そこで利用をオススメしたいのがiOSエンジニア専門のオンラインプログラミングスクール「iOSアカデミア」。
スマホアプリ開発者の中でも、更に需要の高いiOSアプリに特化したiOSアカデミアだからこそ蓄積している豊富なノウハウを元に、iOSアプリ開発が学べます。
学習計画や作るアプリのアイディアの相談から講師がアドバイスをしますし、アプリが完成した後の就職までフォローさせていただきますので、安心して学習を進められます。
今なら現役エンジニアが無料相談を受け付けていますので、スマホアプリ開発について相談したいことがあれば、お気軽にお問い合わせください。
監修者
-
エンジニア経験0の状態から1年間独学で勉強して独立
さまざまなiOSアプリの開発に携わる
2021年6月にiOS専門のオンラインプログラミングスクール「iOSアカデミア」を開校。iOSエンジニアを目指す人のサポートにも力を入れています
最新記事
日本で唯一のiOSエンジニア専門スクール「iOSアカデミア」では、iOSエンジニアになるためのノウハウを完備!
現役エンジニアが受講生のスキル・メンタルをマンツーマンでサポートするほか、就職までのロードマップも用意しているので、未経験者でも安心して学習していただけます。
未経験からiOSエンジニアになった卒業生もたくさんいますので、興味のある方はぜひ一度無料個別相談を受けてください!