crodova開発環境を構築してマルチプラットフォームアプリを作る
2015年あたりに自社サービスのスマートフォンアプリをApache Cordovaで作っていて最近そのアプリを久しぶりにアップデートする機会があったので昔の記憶を辿りながら構築方法をメモ。
cordovaを拡張して作られているionicというさらに便利なフレームワークもあるんですが今回はあえてcordova単体での記事とします。
まずはcordova環境を作ってブラウザで確認するところまで。マシンはiosのビルドも行うので必然的にmac。
2015年当時では
* モバイルアプリ開発フレームワーク cordova * UIフレームワーク onsenui * タスクランナー grunt
上記のような組み合わせでios, androidアプリを実装してました、懐かしい!
onsenuiも当時はangularJsにしか対応してなかったような記憶がありますが今はangularはもちろんreact, vueでも開発できるようになってるようですね。
gruntは流石にもう使わないとしてもonsenuiなどはすごく進化してるようなのでこちらは新しくしらべてそのうち記事にできたらなあと思ったり。
- cordovaをインストール
$ npm install -g cordova $ cordova info Collecting Data... Node version: v11.1.0 Cordova version: 8.1.1 Config.xml file: <?xml version='1.0' encoding='utf-8'?> <widget id="com.sjisjis.cordova" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> <name>cordova-project</name> <description> A sample Apache Cordova application that responds to the deviceready event. </description> <author email="dev@cordova.apache.org" href="http://cordova.io"> Apache Cordova Team </author> <content src="index.html" /> <plugin name="cordova-plugin-whitelist" spec="1" /> <access origin="*" /> <allow-intent href="http://*/*" /> <allow-intent href="https://*/*" /> <allow-intent href="tel:*" /> <allow-intent href="sms:*" /> <allow-intent href="mailto:*" /> <allow-intent href="geo:*" /> <platform name="android"> <allow-intent href="market:*" /> </platform> <platform name="ios"> <allow-intent href="itms:*" /> <allow-intent href="itms-apps:*" /> </platform> <engine name="android" spec="^7.1.4" /> <engine name="ios" spec="^4.5.5" /> <engine name="browser" spec="^5.0.4" /> </widget> Plugins: cordova-plugin-whitelist Android platform: Available Android targets: ---------- id: 1 or "android-23" Name: Android 6.0 Type: Platform API level: 23 Revision: 3 Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in Tag/ABIs : no ABIs. ---------- id: 2 or "android-24" Name: Android 7.0 Type: Platform API level: 24 Revision: 3 Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in Tag/ABIs : android-tv/x86, default/arm64-v8a, default/armeabi-v7a, default/x86, default/x86_64 ---------- id: 3 or "android-25" Name: Android 7.1.1 Type: Platform API level: 25 Revision: 3 Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in, AndroidWearRound, AndroidWearRound360x360, AndroidWearRound400x400, AndroidWearRound480x480, AndroidWearRoundChin320x290, AndroidWearRoundChin320x300, AndroidWearRoundChin360x325, AndroidWearRoundChin360x326, AndroidWearRoundChin360x330, AndroidWearSquare, AndroidWearSquare240x240, AndroidWearSquare320x320, AndroidWearRound, AndroidWearRound360x360, AndroidWearRound400x400, AndroidWearRound480x480, AndroidWearRoundChin320x290, AndroidWearRoundChin320x300, AndroidWearRoundChin360x325, AndroidWearRoundChin360x326, AndroidWearRoundChin360x330, AndroidWearSquare, AndroidWearSquare240x240, AndroidWearSquare320x320 Tag/ABIs : android-tv/x86, android-wear/armeabi-v7a, android-wear/x86 ---------- id: 4 or "android-26" Name: Android 8.0.0 Type: Platform API level: 26 Revision: 2 Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in Tag/ABIs : no ABIs. ---------- id: 5 or "android-27" Name: Android 8.1.0 Type: Platform API level: 27 Revision: 3 Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in Tag/ABIs : no ABIs. ---------- id: 6 or "android-28" Name: Android 9 Type: Platform API level: 28 Revision: 6 Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in Tag/ABIs : no ABIs. iOS platform: Xcode 10.1 Build version 10B61
- cordovaのブロジェクトを作成
# id -> com.sjisjis.cordova # app-> アプリ名 # cordova-project -> プロジェクトのディレクトリ名 $ cordova create app com.sjisjis.cordova cordova-project
$ cordova platforms add ios android browser
$ cordova platforms ls
Installed platforms:
android 7.1.4
browser 5.0.4
ios 4.5.5
Available platforms:
osx ~4.0.1
windows ~6.0.0
- ブラウザで確認
$ cordova run browser startPage = index.html Static file server running @ http://localhost:8001/index.html CTRL + C to shut down 304 /index.html 304 /css/index.css 304 /cordova.js 304 /js/index.js 304 /img/logo.png 304 /cordova_plugins.js
これをやるだけでlocalhostで以下のような画面が立ち上がります。
cordova-project/www/index.html
を変更すれば画面を編集できます。
ios, androidの実機やエミュレータで動作させるのも比較的簡単に出来ますが少し癖があったりもするので次の記事で詳しく書いていこうと思います。