ハイブリッドアプリが開発できる「Apache Cordova」の紹介とAndroidアプリの作成手順

投稿者: | 2014年11月6日

Apache Cordova(以降Cordova)とはハイブリッドアプリの開発が行えるフレームワークです。

ハイブリッドアプリとは、ネイティブアプリの中にWebViewと呼ばれる簡易ブラウザのようなものを表示し、その中にHTMLを表示させるアプリのことです。 画像でハイブリッドアプリの構造を表現すると以下のようになります。
灰色の部分がネイティブアプリ層で、青色の部分がHTML層です。

 ハイブリッドアプリ開発にはWebViewを自前で実装する必要がありますが、このフレームワークを使用するとWebViewの代わりにHTMLとネイティブの橋渡しを行ってくれます。画像でフレームワークの役割を表現すると以下のようになります。

 Cordovaは2011年にAdobe社からApache財団に寄贈されたPhoneGapのソースコードで、Cordovaという名称でApache財団に管理されています。現在、CordovaとPhoneGapは異なるバージョンで配布されていて内容物と使用法に細かい違いがあります。
※PhoneGapはAdobe社がCordovaを提供する時の名称です。

1.Cordovaの特徴
・HTML、CSS、Javascriptを使用したハイブリッドアプリ開発が可能
・Android、iOS、Blackberry、Windows Phone、Palm WebOS、Bada、Symbianのプラットフォームに対応
・カメラやキャプチャなどのプラグインがあり各プラットホームに対応
・オリジナルプラグインが作成可能

※以降はAndroidアプリ開発者向けの内容になっています。
2.Cordovaを用いたAndoridアプリの作成
使用した開発言語などは下記の通りです。
■Windows7
■Eclipse 4.4.1(IDE)
■Java 1.8.0_25 64bit
■cordova-android-3.6.4.tgz

・Cordovaのダウンロード
参考サイトのCordovaから最新のAndroidのtgzをダウンロードします。
ダウンロードしたtgzを解凍して任意の場所に配置します。

・Cordovaのjarを作成
Eclipseに解凍したtgzのframeworkフォルダをインポートします。パッケージ名は「Cordova」です。インポートした「Cordava」の「/bin/res」ディレクトリに「cordova.jar」が作成されます。

 ・Androidアプリの作成

EclipseでAndroidの新規プロジェクトを作成します。新規プロジェクトに「assets/www」ディレクトリと「libs」ディレクトリを作成します。「assets/www」ディレクトリにはインポートした「Cordova」の「assets/www」ディレクトリにある「cordova.js」をコピーし、「libs」ディレクトリには作成した「cordova.jar」をコピーします。「assets/www」ディレクトリに「index.html」を作成し下記のようなコードを記述します。

 

そして、「MainActivity.java」を下記のように変更します。

 Androidの仮想デバイスで実行すると「Hello World」が表示されます。

Androidでは内蔵されているSQLiteデータベースを用いてその端末で完結するアプリを作成することができます。また、その他のプラットホームにもデータベースが内臓されているので同様にその端末で完結するアプリを作成することができます。

3.Cordovaのライセンス
CordovaのライセンスはApache License Version 2.0です。
※Apache License Version 2.0に関しては、参考サイトのカレンダー処理のライブラリ「AJD4JP」の中に記述してあるので参考にされてください。

4.まとめ
このフレームワークを用いると、ネイティブな言語に依存することなくハイブリッドアプリの開発が行えます。また様々なプラットホームに対応しているので、クロスプラットフォーム開発が行えます。低い学習コストで開発したい方や、カメラなどの端末固有の機能を使いたい方におすすめです。
この機会に使用を検討してみてはいかがでしょうか。

<参考サイト>
Apache Cordova
カレンダー処理のライブラリ「AJD4JP」

 

システム構築に関してのご依頼、ご質問等がある場合は弊社ホームページ上のお問い合わせフォームもしくは下記連絡先までお問い合わせ下さい。

お問い合わせフォーム

株式会社ヴィンテージ

TEL:093-513-7255