今回のコラムでは、スマートフォンアプリの開発方法とリリース方法について解説します。これはそれぞれiOS向けアプリケーションとAndroid向けアプリケーションで分けて考える必要があります。
まず始めに、iOS向けアプリの開発とリリース方法を解説します。
①事前準備
iOSアプリをリリースするためにはAppleの開発者登録が必要であり、Apple IDを取得しなければなりません。また、Apple Storeでリリースするためには年間99米ドルのメンバーシップ料金が必要となり、MacPCとXcode(Appleが無料で提供しているソフトウェア)を用意する必要があります。
WindowsPCでもアプリの開発自体は可能ですが、アプリをリリースする際にXcodeが必要となるため、Xcodeが動作するMacPCが必要となります。
②企画
どのようなアプリケーションを開発するのか企画を行います。
③開発環境と言語の選定
XcodeでiOSアプリを開発する上で、SwiftとObjective-Cというプログラミング言語が利用されます。Apple自身が推奨していることもあり、現在はSwiftでの開発が主流となっています。
その他にも、Unity、Unreal EngineなどのゲームエンジンやMonacaなどのWebサービスを利用した開発があります。これらのサービスはクロスプラットフォーム開発と呼ばれ、iOSやAndroidをはじめとした複数のプラットフォームアプリを共通の環境で開発することが可能です。
④開発
アプリケーションの開発は、要件定義から始まり、外部設計、内部設計、詳細設計、プログラミングでの実装を経てテストが行われるウォーターフォール型開発と、より小さい単位で実装とテストが行われるアジャイル型開発にて行われます。小規模なアプリ作成の場合は、アジャイル型開発が多いです。
⑤申請
アプリのリリースには①でIDを取得したApple Developer Programの登録が必要となります。
⑥審査
申請後はAppleによってアプリの審査が行われ、審査を通過するとリリースすることが可能になります。審査は専門家によって行われるため、Androidより時間がかかります。Appleが定めるガイドラインを遵守しているかを判断基準としているため、②企画や④開発の段階でガイドラインを確認し、それに沿った仕様を策定する必要があります。
次に、Android向けアプリの開発とリリース方法を解説します。
①事前準備
Androidアプリを配布するには、Google Playなどのマーケットプレイスを通してリリースする方法、Webサイトを通じてリリースする方法、apkファイルを希望者に直接配布する方法があります。
より多くの人に向けてアプリをリリースする場合は、Google Play などのマーケットプレイスを利用する方法が一般的です。
Google Playにてアプリをリリースする場合は、初期登録時のみ25米ドルの登録料を支払い、Google Play Developer へ登録する必要があります。
②企画
iOSアプリの開発と同様、どのようなアプリケーションを作成するのか、企画を行います。
③開発環境と開発言語の選定
開発環境は、Android StudioとEclipseの2つがありますが、Android Studioで開発するのが一般的です。開発言語は、Java、Kotlinなどがあります。その他、iOSアプリと同様、クロスプラットフォーム開発環境を利用することが可能です。
④開発
開発についてはiOSアプリと同様に、ウォーターフォール型開発やアジャイル型開発といった手法で行われます。
⑤申請
アプリケーションの開発が終了したら、Android アプリのリリース用の apk 形式のファイルを作成します。Google Play Storeにリリースする場合、①で登録したGoogle Play Developerにapkファイルをアップロードするとリリースが可能となります。
⑥審査
審査は、Googleの定めるガイドラインを遵守しているかがポイントとなります。iOSと同様に事前にガイドラインを確認すると良いでしょう。
最後にまとめると両プラットフォームでの大きな違いは以下のようになります。
・ストア登録費用
iOS: 年間99米ドルのメンバーシップ料金が必要
Android: 初回登録時に25米ドルの登録料が必要
・開発環境
iOS: Xcode
Android: Android Studio, Eclipse
・プログラミング言語
iOS: Swift、Objective-C
Android: Kotlin、Java
・審査基準
iOS: Appleが定めるガイドライン
Android: Googleが定めるガイドライン
どちらかのプラットフォームでアプリをリリースしたい場合、これらの違いを正確に把握し、自身のアプリや環境にあったプラットフォームを選択すると良いでしょう。また、両プラットフォームでアプリをリリースしたい場合は、クロスプラットフォーム開発を採用し、開発環境を共通化することで開発工数やリリース後の運用工数を大きく削減できる可能性があります。有用な選択肢として検討しても良いでしょう。
【参考ページ】
【ゼロから作る!】初心者から始める!iOSPhoneアプリの開発手順とは
https://techacademy.jp/magazine/8048
【ゼロから作る!】初心者から始めるAndroidアプリ開発の開発手順とは
https://techacademy.jp/magazine/8965
ANDROID STUDIO アプリを公開する
https://developer.android.com/studio/publish?hl=ja