スマートフォンアプリケーション開発の3つの使い分け
はじめまして。 ソリューション事業部のエンジニアのピーターです。 最近では、多くのiOS・Android開発の案件を担当することができ、嬉しいかぎりです。 さて、SONICMOOVでは様々なアプリ開発をおこなっていますが、アプリ開発といっても幾つか種類があり、表題にもあるように、三種類に分類されます。 今回はそれぞれの特徴を見ていきましょう。
ネイティブアプリ開発
ネイティブアプリとはAppleやGoogleが提供してるiOS・Android用の開発環境を用いて開発する方法です。 特徴
- Objective-CやJavaなどを用いて開発する
- iOS・AndroidのOSの機能を利用できる
- AppStoreやGooglePlayなどでアプリを配布できる
この開発手法のメリット
- 高機能なアプリを作れる
- 端末の処理能力が高ければ、高いパフォーマンスが実現でき、ウェブアプリよりも動作が高速
ゲームアプリや高機能なアプリの開発に向いています。 この開発手法のデメリット
- 開発コストが高くなる
ハイブリッドアプリ開発
ハイブリッド開発とは、ネイティブアプリの中にHTMLやJavascriptを表示するアプリでネイティブ開発と後述するウェブアプリ開発を折半したような開発です。 特徴
- アプリはObjective-CやJavaで開発し、コンテンツをHTMLやJavascriptを用いて開発する
- iOS・AndroidのOSの機能をJavascript経由で一部利用できる
- AppStoreやGooglePlayなどでアプリを配布できる
この開発手法のメリット
- 開発工数がある程度抑制できる
ページ数が多いアプリや更新性の高いアプリなどでOSの機能を使いたい場合に向いています。 この開発手法のデメリット
- 対応OSによってはチューニングなどの作業が発生する場合がある
特にAndroidではOSによってはブラウザの挙動がおかしくなったりするので、仕様によってはさほどネイティブアプリ開発と比べて開発コストがあまり抑制できない面もあります。
ウェブアプリ開発
ウェブアプリとは、iOSやAndroidのウェブブラウザを利用したアプリケーションです。 これはPCブラウザがiPhoneやAndroidにあるブラウザになっただけで、ウェブページを作るのと違いはありません。 特徴
- HTMLやJavascriptなどを用いて開発する
- OSの機能は使えない
- AppStoreやGooglePlayなどでアプリを配布できない
ただ、ブックマークなどのユーザー操作でホームにアイコンを表示すれば、アプリのように見せることもできます。 この開発手法のメリット
- 開発工数が抑制できる
あまりOSの機能を使う必要がない更新性の高いアプリなどに向いています。 この開発手法のデメリット
- ウェブサイトとの違いを出しにくい
- ウェブサーバー上で動作するため、通信環境によっては読み込みが遅くなる
以上、3つのアプリケーションの開発を紹介してきましたが、どの開発も得意な分野・不得意な分野などがありますので、仕様や予算などに最適な開発を使い分けるのがいいと思います。