無限大な夢のあと

テニスとアニメが大好きな厨二病SEのブログ

【書評】HTML5とApache Cordovaで始めるハイブリッドアプリ開発 ( @yyamada ) 

WINGSプロジェクトの書籍レビュアーに応募し、献本してもらったので、書評を書きました。
今回は表題にある通り「HTML5Apache Cordovaで始めるハイブリッドアプリ開発」の書評となります。

HTML5とApache Cordovaで始めるハイブリッドアプリ開発 (CodeZine BOOKS)

HTML5とApache Cordovaで始めるハイブリッドアプリ開発 (CodeZine BOOKS)


私のモバイルアプリ開発のバックグラウンドを説明しますと、業務ではiOSでネイティブアプリの開発を行なっており、Androidの開発経験は業務ではまだありません。
JavaScriptのレベル感としては業務で少し触ったりする程度です。


本題のレビューをさせていただきます。

実際に起動ができるまで

開発環境

node -v
v8.7.0
  • npm
npm -v
5.4.2
  • jdkのバージョン
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

AndroidでBuildできるようになるまで

Androidではandroidコマンドが非推奨になった影響などで書籍に書いている方法ではうまく行きません。
私は以下のアプローチで解決できました。

brew tap caskroom/cask
brew cask install android-platform-tools

具体的には以下のandroidコマンドのインストールで失敗します。

 brew install android

こちらに関しては、

brew tap caskroom/cask
brew cask install android-platform-tools

で代わりに環境は構築できました。
また、androidコマンドを使おうとすると、以下の表示がされて、非推奨になっていることがわかりました。

*************************************************************************
The "android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager
*************************************************************************
Invalid or unsupported command ""

Supported commands are:
android list target
android list avd
android list device
android create avd
android move avd
android delete avd
android list sdk
android update sdk

Androidで起動できるまで

Androidを実行できるまでもandroidコマンドが非推奨の影響か、プラットフォームを追加する際にバージョン指定が必要になります。

cordova platform add android@6.2.3
cordova emulate android

また、今回の検証マシンでは元々Androidエミュレーターのパスを通したりして検証しましたが、ゼロから動かす際はここも調整が必要かもしれません。

実際にサンプルを動かして

Android自体は実機を持っていなかったのですが、iOSは実機が持っているので、こちらで実行したりしてサンプルを確認しました。
実機での起動は少し手順が必要ですが、そちらを終えるときちんと起動できました。
ただ、サンプル自体はそのまま動かず、plugin installが必要です。
また、全てのサンプルを動かしたわけではないですが、最初のcameraサンプル以外は動かないものが多かった印象です。
自分自身のライブラリの環境が最新であることも影響あると思います。

2017-10-15 18:20:43.793746+0900 Cdv4[431:36008] ERROR: Error: Can't find variable: device
2017-10-15 18:20:59.127256+0900 Cdv4[431:36008] ERROR: Error: Can't find variable: Connection

書籍を読んでみて

対象

書籍名にある通り、HTML+CSS+JavaScriptでWeb画面を作成できる人にとって、ハイブリッドアプリ開発の1歩目を学べる書籍だと思いました。
React-nativeなどだと、Reactを学ぶという過程をあるとは思いますが、今回のサンプルではそれも必要ではないので、Angularを使ってはいましたが、より入門者向けだと思いました。

全体的な感想

Cordova自体は初めて触ったのですが、Webと同じようなコードでそれぞれネイティブアプリを作成できるのはすごいなぁと思いました。
目次について、公式ページから引用させていただきます。
HTML5とApache Cordovaで始めるハイブリッドアプリ開発 - WINGS

第1章 Apache Cordovaで本格スマホアプリに挑戦しよう
第2章 Apache Cordovaでスマホアプリ開発を始める前の環境設定
第3章 カメラプラグインを使って、Apache Cordovaのサンプルアプリを作ってみよう
第4章 基本のプラグインを使ってハイブリッドアプリを作ってみよう
第5章 デバイスのファイルにアクセスするプラグインを使おう
第6章 ファイルを操作するためのプラグインで、テキストや画像をアプリ内に保存する
第7章 サーバへのファイルアップロード、ダウンロードを便利にするプラグインを使う
第8章 オーディオファイルの再生を便利にするプラグインを使う
第9章 マイクやカメラを使って音声・写真・ビデオデータを取得するプラグインを使う
第10章 カメラとアルバムから写真データを取得するプラグインを使う
第11章 連絡先データにアクセスするプラグインを使う
第12章 カレンダーの予定を管理するプラグインを使う
第13章 カレンダーを管理するプラグインを使って、予定の追加と削除を行う
第14章 Cordovaでアプリを公開するためのビルド方法をカスタマイズしよう
付録A プラグイン・参考資料

また、実際に作成するアプリで使いたいような機能の土台が一通り揃っているイメージで、仮にCordova自体を使わない場合でもハイブリッドアプリを作るに当たって参考になる書籍だと思いました。

[iOS/Android対応] HTML5 ハイブリッドアプリ開発[実践]入門 (Software Design plus)

[iOS/Android対応] HTML5 ハイブリッドアプリ開発[実践]入門 (Software Design plus)