はじめてのアプリ開発(リリースまでの一連の流れ)

本記事の目的は、これからアプリ開発を始めようとされている方がアプリをリリースするまでの流れを正確に把握することです。

開発環境の準備やアプリの企画、そして開発・テスト・保守などについてわかりやすく説明していきます。

PCと動作検証機について

マシンの対応OSについて

アプリを開発するには、「Windows」か「Mac」のPCが必要です。マシンによって以下のような違いがあります。

PC 対応OS
Windows Androidのみ
Mac iOS、Android両対応

私はアプリを開発を始める前はMacを使ったことがありませんでしたが、上記理由によりMacを購入しました。

会社の意向や自分の考え方の変化により、途中からiOSアプリを開発することもあり得ます。

Macに慣れておいた方が、iOS・Androidの開発に携わりやすくなるので、Macを使う事をオススメしています。

私が使ってきたマシン

以下の通りです。

・Mac mini (Late 2012)
・MacbookPro 15inch (Late 2017)
・Mac mini (Late 2018)

最初に購入したマシンはMac mini (Late 2012)です。自宅のデスクで仕事さえできれば良いと考えた事と、お金をかけたくないという理由でMac miniを選びました。

Mac mini (Late 2012)はマシンの換装(メモリとSSDの増設)ができたので安価に開発しやすい環境を構築できました。(換装したマシンはMacの保証対象外になります。全て自己責任でお願いします)

ちなみにLate 2014以降のMac miniではSSDの増設ができなくなっています。

2台目に購入したマシンはMacbookPro 15inch (Late 2017)です。

ノートPCの中で最もスペックが高く、4Kモニターを3面配置でき、ノート単体でも大きなディスプレイで作業ができるという利点からMacbookPro 15inchを選びました。

ノートPCはポートの数が少ないですが、ドックやUSBハブを別途購入すればポートの数で困ることはありません。

動作検証機

アプリの動作結果を確認する際は開発環境に入っているシュミレータを使って動作確認をすることも可能ですが、iOSアプリを作るのであれば、iPhoneの実機。Androidアプリを作るのであれば、Androidの実機を持っておいた方が良いです。

カメラアプリなどを作る場合、そもそも実機がないと確認できませんし、実機を持っていればPCがない場所でも動作の確認ができます。

実機でテストをしている時の方がアプリを動かすことに集中しているので不具合も見つけやすいです。

開発

ソフトウェア選定

アプリ開発をするには、IDE(Integrated Development Environment) という統合開発環境が必要です。

以下のリンクからIDEをダウンロードできます。

OS 開発環境
iOS X-code
Android Android Studio

IDEは無料でインストールできますが、実機で動作確認したり、ストアにアプリを公開するには開発者登録が必要になります。

以下のサイトから開発者登録が行えます。

OS  料金 開発者登録サイト
iOS 11,800円(年間契約) Apple Developer Program
Android $25(初回のみ) Andoroid Developer Console

iOSは毎年契約金を払い続ける必要があります。Androidの場合は一度の登録だけで大丈夫です。

プログラミング言語選定

アプリを動かす為にはプログラミング言語を使ってアプリに命令を出す必要があります。

OS プログラミング言語
iOS Swift または Objective-C
Android Kotlin または Java

新規でアプリを作るのであればiOSの場合はSwift。Androidの場合はKotlinをオススメします。

Objective-CとJavaは古い言語仕様です。SwiftとKotlinを使えば短いソースコードでアプリを作ることができます。実業務でもSwiftとKotlinを使った案件が増えています。

アプリの企画・アイディア出し

はじめてアプリ開発を企画する時はどんなパーツを使って組み立てるのかという具体的な企画をしていく前に大雑把で良いので何を作りたいかを考えると良いと思います。

考えがまとまったら、そのアプリを作るために必要な方法を調べていきます。基本的にはIDEが標準で搭載している部品を組み合わせてアプリを作ることになると思います。

作る前に部品を作るためのプログラミングを把握しておく必要はありません。作っていく過程でその部品を作るためのプログラミングを学べば良いのです。

企画段階ではあまり難しく考えすぎず、自分の考えをまとめてそれを具体的に落とし込んでいきます。

企画、アイディア出しのコツについてはこちらの記事にまとめています。

コーディング

ユーザーの反応に応じてアプリが動くようにコーディング(プログラムコードを書く作業)をしていく必要があります。

アプリはリリースしたら終わりではありません。リリースした後も保守が必要になります。

その為、コードを書いた後にリファクタリングをし、後から見直したり機能を追加しやすい状態にしておいた方が良いでしょう。

テスト

コーディングが終わったらテストをし、バグが見つかれば修正します。コーディングスキルが高くてもこのフェーズを疎かにして、沢山のバグを出す開発者もいます。

バグは出るものだと認識し、自分が作ったものを疑い、何度もテストを繰り返すことで品質担保をします。

ユニットテストによるテストの自動化なども流行っていますが(会社の案件でも導入していますが)、結局人力でのテストをしっかりしないとバグが出ます。

デザイン作成

プロのデザイナーさんは「Photoshop」や「Illustrator」という高価なツールを使ってデザインを作ります。

これらのツールはお金もかかりますし、使いこなすのにも時間がかかりますので、個人でアプリ開発をするのであれば、安価な「Art Text」で十分だと思います。

デザインテンプレートが標準で入っていますし、図形などを組み合わせればそれなりのデザインを自分で作ることもできます。

デザインに時間とお金を一切かけたくないのであれば、ライセンス表記不要の「iconmonstr」を使うと良いでしょう。

「iconmonstr」は画像のバリエーションが豊富なので、このサイトにある画像を使ってアプリを作ることができます。

私も最初は「iconmonstr」を使ってアプリを作っていました。デザインの工数を削減することでアプリ開発の敷居を下げられます。

オリジナルデザインが作りたくなった時に「Art Text」を使うようになりました。将来的に開発だけでなく、デザイナーの仕事もしたい場合、「Photoshop」と「Illustrator」を使えた方が良いと思います。

私の場合、基本的なデザインは「Art Text」を使って作成し、アプリの肝となるアプリのアイコンなどは「99design」でプロのデザイナーさんに発注しています。

「99design」では、複数のデザイナーにコンペをかけられるので、自分好みのアイコンを作ってくれるデザイナーさんに巡り会える可能性が高いです。相性の良いデザイナーさんが見つかったら個別で仕事を発注できます。

私の代表アプリの文字数カウントメモのアプリアイコンも「99design」で作ってもらっています。

この画像には alt 属性が指定されておらず、ファイル名は App_Store-jp-3.png です
この画像には alt 属性が指定されておらず、ファイル名は Google_Play-jp-2.png です

ストア申請

アプリはAppleやGoogleが定めた審査に通過しない限りストアに公開できません。機能が不十分だと判断されたり、ポリシーに違反したアプリは審査に通りません。

以下のサイトを参考にし、ストアに公開されるようなアプリを作りましょう。

宣伝

アプリをリリースしても、認知されないとアプリは使ってもらえません。1つでも多くダウンロードされるようにアプリの宣伝を行いましょう。

お金をかけて宣伝すれば効果が出るとは限りません。むしろ宣伝広告費をかけてもそれを上回る効果を出すのは難しいと考えた方が良いです。

以下の記事では無料でiPhoneアプリとAndoridアプリを宣伝する方法をお伝えします。

関連記事

お金をかけて宣伝すれば効果が出るとは限りません。むしろ宣伝広告費をかけてもそれを上回る効果を出すのは難しいと考えた方が良いです。 この記事では無料でiPhoneアプリを宣伝する方法をお伝えします。 確実にアプリがメディアに掲載される[…]

関連記事

お金をかけて宣伝すれば効果が出るとは限りません。むしろ宣伝広告費をかけてもそれを上回る効果を出すのは難しいと考えた方が良いです。 この記事では無料でAndoridアプリを宣伝する方法をお伝えします。 確実にアプリがメディアに掲載され[…]

保守(アプリの改善、改良)

アプリはリリースした後、ユーザーから寄せられる要望に対応したり、指摘を受けた不具合を修正することで人気が伸びていきます。

また、OSがバージョンアップしたタイミングでそれまで動いていた機能が動かなくなることもあります。

アプリをリリースしても放置したままにすると誰にも使われず終わってしまいますので、改善点を見つけては修正を繰り返し、アプリを安定して動作させる必要があります。