Webアプリの考慮
AppStoreではアプリの申請から審査に通るか、混み具合などでリリースのタイミングが左右されます。
そこで、iOS端末標準ブラウザSafariで動作する、webアプリとして開発リリースするのもいい。
webアプリはネイティブアプリより、機能が制限されますが、AppStoreの申請・審査がいらないのでいつでも公開でき、webサーバにて簡単に更新できます。
昔は機能制限が多かったですが、現在はカメラ・ジャイロセンサー・加速センサー・デジタルコンパスも使用できる様になっているので、余程の手の込んだ処理速度が要求されるもの以外は、問題なく開発できるレベルに達しています。
AooStoreという、巨大マーケットで公開できませんが、現在、アプリも多数あり、どれほどプロモーションをうまくするかなので、そこまで問題ないかもしれません。
webなので、画面表示などの遅延を考慮しないといけない部分もあるが、Androidやほかのデバイスとも共存できるという、おおきなメリットもある。
webアプリ開発には、HTML・JavaScriptが必要になるので、スキルとして身につけるといいですし、武器になります。
クロスプラットフォーム対応の開発環境
XcodeなどはAppleが垂直統合のプラットフォームで、それで支配されているのが現状です。
しかし、Androidや他のスマホなどと、共通化して作成できるクロスプラットフォームがいくつかあります。
・Titanium Mobile
JaveScriptで開発でき、ネイティブアプリに近い速度がでます
・Xamarin
C#で開発する
・Unity
あらゆるプラットフォームで対応する3Dゲームエンジン、C#で開発可能
・Adobe AIR
昔からある、モバイルだけじゃなく、PCやMacのアプリも作成できる
・PhoneGap
HTML+JaveScriptによる開発フレームワーク、各OSのブラウザのアプリを作成できる
クロスプラットフォームはゲーム開発などには便利ですが、ネイティブアプリの機能の後追いという形になるのと、各スマホ端末の仕様で分岐して処理する場面が多かったりします。
その辺をふまえて、慎重に選択する必要があります。
webやAndroidなど他の開発との違い
一番の違いは、製品の動作環境を開発者が自由に決定できないことです。
他のソフトウェアでは、普通はいろいろな開発環境を開発者が選択できます。
しかし、iOSアプリ開発は、Appleの方針によって環境が決定されます。
Androidも同様な感じで、プラットフォームの動向に左右される。
このあたりは企業の方針によるが、Appleはアグレッシブに進める傾向がある。
なので開発者はそれに追随するため、様々なリソースが求められます。
また、ストアでポリシーに合わないって事で、急に削除される危険性もあります。