2016.10.27
2017.5.26

アプリ作成時の注意点まとめ

Cordovaでアプリを作成してみたので、使い勝手を含めて、注意しておくべき点をまとめておきます。

目次

  • OS(Android)のバージョンによっては「CSS3」が利用できない
  • AndroidとiOSで挙動が異なる
  • Rippleエミュレーターで動作しないAPIがある
  • TextやTextAreaなどの入力系コントロールが使いづらい
  • Android5系のタブレットでselectコントロールが使えない
  • OSのバージョンアップで動作しなくなる可能性がある
  • 最後に

OS(Android)のバージョンによっては「CSS3」が利用できない

Android4.4よりも古いバージョンの場合、「CSS3」が利用できません。

一番困ったのは、calc()が使えないことでした。

今回、作成したアプリは大きく3つのエリアに分かれているUIでしたが、各エリアの高さをheightで指定する際に%(パーセント)で指定すると、キーボード表示時にUIが崩れてしまうため、伸縮してほしくないエリアをpx(ピクセル)で設定したいといったことがありました。

calcはパーセントとピクセルを混ぜた計算が可能なので、それがAndroid4.4未満のOSで使えないとなると、考慮していない場合はUIを見直すか、4.4未満は未対応とする必要があります。

AndroidとiOSで挙動が異なる

ある程度は仕方ないとは思いますが、同じレンダリングエンジンを使用しているので、もうちょっと挙動を統一してほしかったという印象です。意外なところでAndroidでは正常なのにiOSだと表示が崩れるといったことが結構ありました。

プラグインに関してもOS毎に専用の設定があったりして、思ったより面倒と感じたこともありましたが、この辺りは慣れかな、とも思います。

Rippleエミュレーターで動作しないAPIがある

エミュレータ―や実機と完全に同じ動作・表示とはいきませんが、使えるなら使っていきたい軽快動作のRippleエミュレータ―ですが、導入するAPIによっては使えません。私の場合は、ネイティブ用のGoogleマップAPIが使えるプラグイン「phonegap-googlemaps-plugin」を使っていたのですが、Rippleエミュレータ―では表示できませんでした。

そうなるとエミュレータ―または実機で動作確認する必要があるのですが、修正後にブラウザのF5更新で修正内容を反映といったことができず、確認するには毎回ビルドとアプリの再配置を繰り返さないといけません。

それの何が問題かというと、一回の修正反映(ビルド、配置)に大体30秒~1分ほどかかるので、修正したらすぐに確認ということができない点です。

Cordova以外だったらどうなのかはちょっとわからないのですが、この点が不便に感じました。もしかして、開発マシンのスペックを上げたら、少しは改善するのでは、と考えたりしています。

TextやTextAreaなどの入力系コントロールが使いづらい

使いずらい点の最大の原因は、キーボードが表示された際にUIが崩れるためです。

縦表示の状態でキーボードが表示されたら、横長になって縦表示から横表示に切り替わってしまったといったような、想定していたUIが崩れたことがありました。

ただ、対応方法がありそうな気も...

Android5系のタブレットでselectコントロールが使えない

これについては、以下の記事に掲載しています。

Android5系のタブレットではselectコントロールが使えない

OSのバージョンアップで動作しなくなる可能性がある

ネイティブアプリにも言えることですが、Cordovaでプラグインを利用している場合、プラグイン側の対応が必要です。もちろんプラグインを自分で修正するといったことも可能だと思いますが、自分が作成したものではないので修正に時間がかかります。

仕方のないことではあるので、そういった事態に陥った場合にどう対応するのか、というのを決めておくのが大事だと思います。

最後に

色々と書きましたが、プラグインが豊富なことやionicなどの便利なフレームワークもあり、なにより、JavaScriptが使えるのでWeb系の開発ばかりやってきた私にとっては、新しい言語を覚えるための学習コストがかからない点は非常によかったです。

また、ちょうどVisual StudioでCordova対応など、多少は慣れているIDEを使えたこともあって、ネイティブアプリを一から作ろうとした場合に比べて、だいぶ敷居が下がってくれていたと思います。

今後、どのような状況になるか分かりませんが、とりあえずは、今後も使っていく予定です。

Cordova】関連記事