Mobile Applicationの種類
1. Native Application
2. Hybrid Application
3. Responsive Web Application
Native Application
Native Appの開発でアプリはios, androidなどの特定のMobile Platformに合わせて作成することになり、一般的にはPlatform会社の開発道具を使用して作られます。他のPlatformにはコードの再使用はできません。
メリット
• 性能が高い(特にゲームの場合)
- グラフィックユーザーインターフェース、速度など
• デバイスの全ての機能を使える(センサー、カメラ、連絡先など)
• Appleのアップストア、GooglePlayなどの公開アップストアを通して配布
デメリット
• 開発者不足
• Platform別にそれぞれアプリを作るため費用を使う
• Platform別にコードベースを管理するため費用と時間を使う
• 長い開発期間
• 開発のかかる時間で各Platformのバージョンがそれぞれになる可能性がある
• 各アップストアの承認手順を待たなきゃいけないのでアプリの配布が遅くなる可能性がある
開発道具
• Apple: XCode
• Android: Android Studio, eclipse
Responsive
HTML 5, CSS, JSなどを使用して作るWeb Application。デバイスのブラウザーを通して接近できます。デバイスの機能を使用することが難しいです。
メリット
• 既存Web開発者を活用して作れる
• 費用が一番安い
• 一つのコードベースだけ管理する
• 早く編集、アップデートや配布が可能
デメリット
• インターフェースが標準Native Appと違う可能性がある
• マルチメディアの性能がよくない
• デバイスの機能を使うことが難しい
開発道具
HTML 5, JS, CSSを使ってWebを作ることに使用される全ての開発道具はResponsive Web Applicationを作ることができます。
• AngularJS - Googleが管理しているopen source web application framework
• Ember.js - open source javascript web application framework
• React - facebookが管理しているopen source javascript library
• JQuery - javascript library
• Bootstrap - Responsiveを優先するCSS framework
Hybrid Application
Hybrid ApplicationはResponsive AppをMobile Platformで実行するAppになります。ウェブ標準を使用するが最終アプリはデバイスでnative appで実行されます。Native AppとResponsive Appのメリットだけ合わせるように誕生した。
メリット
• ウェブ標準を使用して作る(APIやデバイスの機能に接近するためコーディングが必要
• 既存ウェブ開発者を活用して開発可能
• 早く編集、アップデートや配布が可能
• 各PlatformでNative Appで実行する
デメリット
• インターフェースが標準Native Appと違う可能性がある
• Native Appよりは性能がよくない
• 一般的にデバイスの全ての機能が使えるが新たな機能は少し時間がかかる
• Platformによってそれぞれ違うコードベースにしなきゃいけない
開発道具
• Apache Cordova - HTML 5, CSS, javascriptを使用しているResponsive Appを基盤にしてNative Appをbuildするopen source platform
• Adobe PhoneGap - Adobeが作ったApache Cordovaの変形
• Alpha Anywhere - Responsive Appを作ってそれをNative Appに配布するようにしてくれる開発環境
• Ionic Framework - AngularJSやCordovaと連携してResponsive Appを基盤にしてNative Appをbuildするユーザーインターフェース中心のframework