連休中、前々から気になっていた MobileChromeApps (cordova chrome app)に挑戦しました。上記リンク先のGitHub上の英語の説明を解読しながら環境を構築し、Hello worldすることを目標に頑張りました。
結果
できました!!!*1
環境構築を終えたあとにやったことは
- コマンドプロンプトで
cca create YourApp
を実行- これを実行するだけで、manifestファイル、htmlファイルをはじめ、アイコンやその他必要な設定ファイルを自動で生成してくれました!すごい!
- Nexus7 を接続
- Android端末を持っていない場合は
cca emulate android
を実行
- Android端末を持っていない場合は
- コマンドプロンプトで
cca run android
を実行
だけです。
予想以上に早くできました。手順説明が読みやすい英語で書かれていたおかげだと思います。
さらに
時間と体力が残っていたので、いろいろJavaScriptを書き実行してみながら、デスクトップ版の Chrome Apps との比較をしてみました。
勘違いや間違いを含んでいるかもしれません。
デスクトップ版 Chrome Apps | Mobile Chrome Apps | |
---|---|---|
パッケージ内の画像の表示 | imgタグのsrcに相対パスを指定 | imgタグのsrcに相対パスを指定 |
外部の画像の表示 | imgタグのsrcにwebkitURL.createObjectURLで生成したBlobオブジェクトのURLを指定 | ・imgタグのsrcにwebkitURL.createObjectURLで生成したBlobオブジェクトのURLを指定 ・imgタグのsrcにパスを指定 |
aタグでパッケージ内のHTMLを新しいウィンドウで開く | × | × |
aタグで外部のURLを新しいウィンドウで開く | target = '_blank' を指定するとブラウザが起動 | target = '_blank' を指定するとブラウザが起動 |
パッケージ内のHTMLを新しいウィンドウで開く | chrome.app.window.create のみ |
window.open のみ |
感想
英語の読み間違えでなければ、このMobileChromeAppsツールチェーンはまだデベロッパープレビューの段階だそうです。しかし今日使った機能まわりは特に不具合等はなく、かなり完成度が高いと思いました。実際に使ってみると、今後がさらに楽しみになりました。それより何より、なんといっても、JavaScriptでAndroidアプリを書けるということは素晴らしい!と思います。