SEの随筆

技術系とは全然関係ないことも書きます。

Cordovaアプリケーション作成の反省会

Cordovaでアプリケーションを作成してみたので、その反省会です。

1. MVCの意識が希薄
チュートリアル後にアプリケーションを作ってみたわけですが、
CordovaのチュートリアルMVCがきれいに分かれていることを感じました。
*Service→model
*View.js→view
app.js→controller
アプリケーションを作っているときはここの意識が希薄で、
Viewにメソッドが偏っていました。
それぞれのファイルはあるので、それほどとっちらかっているわけでもありませんが、
「このメソッドをどこに書くのか」の点で自己レビューは不足していたと言わざるを得ません。
途中で一旦リファクタリングして再構成しようかなとも思いましたが、
今回のアプリケーションはmodelへの新規データ追加のみで更新対応をする予定なこともあり、
今回だけはそのままとしました。(会社で複数人開発してるときはこんなことをしてはダメですよ)

2. config.xmlの知識が足りない
Androidアプリケーションを作ったことがある方はminSDKVersionという言葉を聞けばなんとなくわかるかもしれませんが、
CordovaにおいてこのminSDKVersionを設定するのがconfig.xmlです。
わからない方も見ているかもしれませんので、簡単に説明すると、minSDKVersionは最低限動作するAndroidバージョンを指します。(厳密に言えばSDKのバージョンです)
config.xmlについてチュートリアルでは特に触れておらず、
APKへの署名でPlayStoreからエラーが返されたときにこんなのがあると認識しました。
次回開発前にドキュメントを読みくだす必要があると思います。

3. JavaScriptの知識が偏っている
基本的に私の知識はフロントエンド側に偏っています。
フロントエンドにも色々あるかもしれませんが、私の言葉の意味するところはDOM操作くらいしかやらないってことです。
基本的にDOM操作さえ使えればCordovaの開発でも早々困ることはない…と思っていたのですが、色々困ることがありました。
例えば、コンストラクタ関数。
バッチリNode.jsとかでサーバーサイドしている人は使っているかもわかりませんが、少なくともフロントサイドで使うことはあまり、と言うかないです。そもそもクラス定義をしなければならなそうなことはサーバー側で処理するので。
基本的にDOM操作で画面の表示を動かしたりajaxでリクエスト出したりしかしないので。
そもそもJavaScriptでクラス(っぽいもの)を書けることすら知りませんでした。
(でもこんな使い方するならPythonで書きたい…。)

4. 絵心がない
これはもう開発者とか知識以前の問題です。
アプリケーションを作成したら、アプリのアイコン画像を作成しなければなりません。
また、PlayStore用の横長画像も用意しなければなりません。
いらすとやなどを使わないのであれば、描くしかありません。
描くしかないのです…。

5. デザインセンスがない
デザインセンス、と言うよりはデザインパターンでしょうか。
基本的にモバイル版のアプリケーションというものは、PCで扱うWebアプリケーションとは異なった見た目、動作感をしています。
そのデザインパターンを知らないので、「こうした方がモバイルらしい!」とか知らないのです。
スマホを持っていると言ってもゲームアプリはモバイル感ないというか、また別ですからね…。
デフォルトで入っているPlayStoreアプリとかが私のモバイル感を感じる源です。というかそれ以外にあんまり知らないです。
チュートリアルでアニメーションさせるCSSとか入れてくれなければほぼWebViewそのままの動作感で制作完了させてたと思います。
せっかくなので、ネイティブアプリっぽい、モバイル感を感じるアプリケーションにしたいですよね。