開発言語、開発環境、検証と申請など。アプリ開発時におけるiOSとAndroidの違いって?

スマートフォンなどのアプリは、通常iOSAndroidという2つの大きなプラットフォーム上でリリースされることが多いものです。そしていざ開発しようとすると、この2つには多くの違いが存在します。今回は、両者の違いについてご説明します。

開発言語

まず両者では、開発言語に違いがあります。iOSは主にObjective-C、またはSwiftという言語が使われ、両者は共にmacOSに関連した開発言語として公式に採用されています。
Swiftは登場してから間もないこともあり当初は荒削りな部分も多く、古い言語であるObjective-Cからの移行がなかなか進まなかった時期がありましたが、現在ではSwiftも十分使いやすい言語として認識されつつあります。実際、現在Appleが推奨しているのはSwiftの方ですので、もし今から開発を始めるという場合、まずそちらの選択を考慮すべきかもしれません。

一方のAndroidでは、多くの場合でJavaが利用されています。歴史も古く、幅広いジャンルで利用されている言語であることもあり、今後もしばらくはAndroidアプリ開発における主要言語であり続けそうです。

一方で、最近Googleが正式に開発言語として認定したことで注目されているのが、Kotlinです。これは、プラハに本社を置くJetBrainsという企業が開発した言語で、Javaの欠点ともいわれていた複雑性を解消し、シンプルな記述でのプログラミングを可能にしました。実際、Googleの開発者会議であるGoogleI/OにおいてKotlinの採用が発表された際には、聴衆から大きな喝采が沸いたといわれています。

開発環境

開発環境の違いとして大きいのは、iOS対応アプリの開発には必ずmacOSに付属するXCodeが必要な点です。そのため開発には、Macと名のつくApple製品が必須となります。
一方のAndroidは「Android Studio」という開発環境を利用しますが、これはmacOSを含め、WindowsやLinuxといった環境でも開発が可能なため、比較的自由度が高いといえます。

また費用面でも微妙な違いがあります。iOSはiOS Developer Programへの加入が必要となり、1年ごとに11,800円が必要となります。同様にAndroidはGoogle Playデベロッパーアカウントに登録が必要ですが、こちらは初回のみ25ドルとなっています。

テスト検証

iOSとAndroidにおける最大の違いが、このテスト検証といえるかもしれません。iOSに対応した製品、いわゆるiPhoneやiPadはこれまでいくつかの端末が登場していますが、それでも数える程度です。一方のAndroid端末はOSの性質上無数に存在しており、対応するすべての端末で確認することは事実上不可能です。

そのためAndroidでは特に、現在シェアの多い機種などを参考に、対応するOSのバージョン、および端末を事前に決めておいた方がよいでしょう。

ストアへの申請、審査の基準

アプリの開発が完了したら、いよいよ申請となります。両者共にプラットフォームですので、当然掲載には審査があります。しかし大きな違いとして、iOSは事前、Androidは事後の審査となります。

iOSの審査はそれなりに厳格で、アプリの内容によってはなかなか通らないことはもちろん、場合によっては内容に関する問い合わせの電話が(英語で)かかってくることもあります。

その点Androidは事後審査となるため、とりあえずストアに登録することは可能です。しかし逆にいえば、ある日突然削除されてしまうという事態も起きえるため、注視が必要といえるでしょう。

万が一リジェクト(ストアへの掲載拒否)をされてしまったら、それぞれのポリシーを改めて見直してみましょう。
iOS:https://developer.apple.com/app-store/review/guidelines/jp/
Android:https://play.google.com/intl/ja/about/restricted-content/

参考:
https://kotlinlang.org/
https://www.jetbrains.com/
http://jp.techcrunch.com/2017/05/18/20170517google-makes-kotlin-a-first-class-language-for-writing-android-apps/
https://developer.apple.com/jp/xcode/
https://developer.android.com/studio/index.html?hl=ja
https://developer.apple.com/programs/how-it-works/jp/
https://support.google.com/googleplay/android-developer/answer/6112435?hl=ja
https://developer.apple.com/app-store/review/guidelines/jp/
https://play.google.com/intl/ja/about/restricted-content/



アプリ開発・アプリ制作 関連記事