はじめに
Cordovaでアプリを一本作ってみて「これはイケてる!」と思ったのでご紹介の記事です。
こんな方におすすめです!
* モバイルアプリを簡単に作ってみたい!
* iOSもAndroidも対応したアプリが作りたい!
* フロントエンドしかやったことないけどアプリに手を出したい!
Cordovaで開発するメリット
JavaScriptで書ける!
フロントエンジニアほぼ必須のJavaScriptを使用するので新規言語を習得し直す必要なし!
IDE必要なし!
HTML + JavaScript で記載するので、メモリをやたら食うIDEなんかは必要なし!
私はVisualStudioCodeで書きました!
クロスプラットフォーム!
MacだろうとWindowsだろうとiOSだろうとAndroidだろうとなんでも動きます動かせます!
カメラとか位置情報、センサー類も使えます!通知だって出せます!
参考:Platform Support
動作確認が簡単!
モバイル版のみでしか動かない機能(プラグインなど)を除けばブラウザで開けば動作確認できます!
実機確認も簡単!
AndroidではUSBで繋いでコマンドを一つ叩くだけで実機で動作確認できます!
Cordovaで開発するデメリット
JavaScriptで書かないといけない
ビューもコアとなる処理もコントローラーも全部JavaScriptで書かないといけません。
IDEがない故にビルドも手動
ビルドもコマンドを叩く必要があります。
自動保存したらそのまま自動ビルド、とは行きません。
androidアプリのapkのビルドと、リリース手順メモ
日本語の記事が少ない
困った!→ググる→日本語の記事は1件とかもザラです。
もちろんJavaScript自体は日本語記事も多く大丈夫ですが、cordovaの記事はまだまだ数が少ないです。
クロスプラットフォーム
cordovaはWebView上で動作するハイブリッドアプリケーションです。
故にそれぞれのWebViewの実装状況に応じて使える機能が異なります。
使いたかった機能がiOSでは対応していない!とかもあるかもしれません。
参考:Platform Support
ローカルコンテンツ以外のアクセスはセキュリティ的に厳しい
WebView上で動作するが故に、一般のブラウザと違い、基本的にWebViewでは本当に信頼できるコンテンツ以外はインターネット上のコンテンツにアクセスしてはいけません。
WebViewのセキュリティについて
動作速度が遅い
いわゆるネイティブアプリと比べると遅めです。
ただし、最新機種では体感できるほどの違いはありません。
逆に言えば古い端末を使わざるを得ない場合(でバリバリアニメーションとか書いたりゴリゴリ重い処理したりする場合)は遅いかもしれません。
ハイブリッドアプリとは?