Monacaとは
iOS,android等のネイティブアプリケーションにおけるWebView機能を活用したハイブリットアプリケーションの制作を支援するフレームワーク。
Adobe社の提供するPhoneGapというオープンソースフレームワークをベースに提供されており、PhoneGapにて提供されるネイティブの機能をWebリソースから利用するためのAPIが使用可能。PhoneGapの後継となるCordovaプラグインを利用することで基本的にはWEB以外の機能が拡張される。
Monacaの特徴としてはアプリケーション開発に必要なリソースを全てクラウド上に用意し、開発に最低限必要な物はブラウザのみです。
HTML5を利用したコーディングから、実機での確認・デバッグ、アプリケーションのビルド、各ストアへの公開・申請までをWEB上に用意した開発ツールでサポートされています。
またアプリケーションの実行環境におけるサーバの部分はMonacaバックエンドというサービスを利用することでMonacaが管理・提供するサーバサイドリソースを利用可能。これによりユーザのデータ管理、ログイン認証機能などがサーバサイド開発なしに利用可能となる。
Monacaを使った開発のフロー
- HTML5コーディング − 基本的には通常のWEBアプリケーションの作成と同じ。ただネイティブアプリの機能を利用するなどの場合はプラグインの導入、独自APIの実装が必要になる。
- Monacaデバッガーを使った実機での実行・検証 - Monacaの提供するiOS,androidアプリを利用することで各ストアへの登録なしに実機での動作検証が可能。IDE上で行なった修正はリアルタイムに反映される機能付き。
- Monacaバックエンドのセットアップ - ログイン認証、ユーザごとにサーバサイドでのデータの管理など必要に応じてMonacaの提供するマネージドなバックエンドサービスのセットアップを行う。
- アプリケーションのビルド、実機へのインストール - 各自で必要な開発者ライセンスを取得し、Monaca上に登録後Monacaの上でビルドされたアプリケーションがダウンロード可能になる。それらをiTunesなどを利用し実機へインストールをする。
- アプリの公開・配付申請 - AppStore,GooglePlayで手順が変わります。
Monacaの料金について
料金は現在4つ。
Basicは無料、Personalは年間9800円だがCordovaプラグイン(ネイティブの機能と連携するためのプラグインなどが提供される)の組み込みが可能になるのがGoldプラン年間50000円になるため実運用のタームを考えるとGoldプラン以上が現実的。
ちなみにMonacaバックエンドのみ利用するとした場合はバックエンドのリソース、アプリデータのホスティングは含まれている形です。(Goldプランで10GB)
その他のオプションとしてアカデミックプラン、5名以上の開発者アカウントでボリュームディスカウントが有るようです。
その他、もちろんAppStore、Androidの開発アカウントの費用はかかります。
そもそもネイティブアプリを避ける方法を検討する
WEBアプリの検討の際に最も多いものがオフラインでのコンテンツ閲覧対応。
なのでWEBコンテンツをオフラインで閲覧するアプリを導入する方法をリストアップします。
- safariの標準機能「リーディングリスト」の利用 - safariのリーディングリストはオフラインでの閲覧が可能になっているため、jQeryMobileのようなシングルページで実装されたWEBアプリケーションであれば静的に実装されているコンテンツはオフラインでも閲覧が可能になります。なんの準備もいらないため一番手軽です。 (androidの場合は標準搭載がなく、Firefoxブラウザを利用すれば標準機能として利用可能です)
- オフライン対応のリーダーアプリを利用する - このジャンルではPocketなどが最も有名かと思います。機能的にはsafariのリーディングリストとほぼ同様と
- ファイルをダウンロードさせてしまう - ちょっと元も子もない方法ですが、コンテンツを見たいだけならPDFとして出力する機能を実装して、ファイルをダウンロードさせる方法もありかと。後は各々のPDFリーダー機能があるアプリに任せてしまう。 (PDFの作成はPHPなどいろいろライブラリが公開されているため、そちらを利用すれば行けそう)
- その他 - 未使用ですが探しているとこんなものも見つけました。 iSwallow - スマホ向けWebコンテンツやHTML5アプリをオフラインで楽しむためのブラウザアプリ http://www.topicmaker.com/smartphone/swallow/