Monacaを使って作成したandroidアプリを Android Studio と Cordova 開発環境で同じものを作成してみた。

の投稿で作成したGPSリアルタイムマップandroidアプリを Monaca 以外の Android Studio と Cordova で作成してみた。

Monacaは CordovaをWebブラウザから使いやすくしたIDEを提供してくれるサービスで個人で利用する場合は制限はありますが無料で登録して使ってみることが出来ます。開発環境を自分で構築する必要もなく直ぐにモバイルアプリ(androidやiphone用)の作成に取りかかれます。

これでは、面白くないので次の2つのローカル開発環境をWindows10上に構築(必要なソフトウェアのインストールと設定)し、Monaca開発環境で作成した「GPSリアルタイムマップandroidアプリ」と同じ動きをするコードを書いてビルド&実機(androidタブレット)稼働を試してみようと思う。

1つ目は google が提供している純正の Androidアプリの開発環境である Android Studio を使って環境を整えます。インストールは次の過去の投稿に書いているように次のサイトからダウンロードしてインストーラを起動してそれに従っていけば完了です。

 

Webサイトをアプリ内で表示するのに WebView を使って行いました。Webサイトへのアクセスはhttpsでかつベーシック認証も入れていたので若干めんどくさくなりましたがビルド&実行できました。

 

ADBで実機デバッグでUSBケーブルでの接続が面倒になってきたので ADB Wifi Connect プラグインを入れて Wifi経由の実機デバッグを行いました。

 

2つ目は オープンソースで開発されている Cordova を使って開発環境を整える。 Cordova は node.js というjavascriptをwebブラウザ以外でも使用できるようにし、有用な沢山のライブラリ群を使ってプログラミング出来る環境?のようなものかなぁ(個人意見)上で動作する node.js のアプリケーションプログラムの一つ。 node.js の日本語サイトはこちら。

 

Cordovaは npmコマンド(npm install -g cordova)でインストール出来る。

通常はコマンドプロンプト(DOS窓)を使ってコマンドをたたいて使用するですが、今回はマイクロソフトから提供される Visual Sutdio Code(VS-Code)というオープンソースのエディタと連動させて使う方法を採用した。VS-Codeは次のサイトなどから取得出来きる。Cordova と連帯して使う場合は VS-Codeに拡張機能 Cordova Tools を導入すれば使えるようになる。至って簡単です。

ADBを使った実機デバッグや仮想デバイス(Android Virtual Device)を使ったデバッグを行う場合は事前に Android Studio をこのためだけにインストールだけはしておいた方がよさそうです。

Cordovaの場合は Monacaで使用したコードがそのまま使えました。使用したプラグインは cordova-plugin-inappbrowser です。

問題なくビルド&実行できました。

 

以下文章は個人的な感想を書いたものです。あらかじめそのことをふまえた上でお読みください。
Monaca、Cordova+VS-Code、Android Studio の3つの開発環境を触ってみた結果、特に使う理由が見当たらない場合は Monaca もしくは Cordova+VS-Code を使っていこうと思った。
Webの技術(html/css/javascript)でアプリが作れるので便利。いろんなコンピュータ言語を使っているとしばらく使っていない言語を再使用とした場合その都度頭と手がなれるまでにアイドリング時間が必要になる。(年々年取ってくると切り替えが鈍くなる)なのでWeb開発とアプリ開発を同じ言語で行えるのは助かる。MonacaかCordova+VS-Codeのどちらを使うかはあなた次第。ちゃんとアプリ開発を行う場合はMonacaの無料環境ではちょっと無理がありそうな感じかな。Cordova+VS-Codeでやる場合は開発環境を自分で整え、バージョンアップの作業も自分で行わなくてはならないので、わずらわしさを考えると Monaca を使うのもありかなと思った。
Android Studioは Androidアプリを作るにはよいのだが iPhoneアプリも必要な場合は別々に作らなければならないのが辛い感じがする。Cordovaで作成したアプリがどこまで同じコードでAndroidとiPhoneの両方で動くかは検証してないので何とも言えません。