flat7th

+ PhoneGapって何だ

created 2013-08-08 modified 2014-04-17 

PhoneGap調査メモ

2013/08/08 車

1.概要


1.1 それはなにか


(1)意図すること:
HTML5やCSS3、Javascript等、Webアプリを構築する技術を使って、ローカルアプリケーションを構築しようとするもの。

(2)仕組み:
ネイティブアプリを薄皮として利用し、端末内のWebブラウザに file:/// URIスキームのHTMLを表示する。
これがアプリ本体で、あとは、表示は HTML5、制御はJavascriptで書いた「ローカルWebアプリ」として動く。

端末固有のハード機能「加速度センサー」や「カメラ」を Javascript から使えるように、各端末用のラッパーライブラリを提供してる。

(3)ビルド環境
統一の使用法で扱える、各端末用のビルド環境ツール(コマンド)を提供している。
コマンドで作ったプロジェクトを、各端末用のGUI風ビルド環境に取り込むことも可能。


1.2 対象デバイス

  • iOS端末、Android端末、WindowsPhone、BlackBerry、Tizen、...


1.3 前提となるツール・ソフト

  • 開発に必要な前提ツールや前提ソフトは、対象デバイスによって異なる。
  • 基本は、端末開発社(Apple/Google/...)が提供しているSDK。


1.4 メリット デメリット

  • 過去にWebアプリを作ってた人たちが、民族移動するのに使える。
  • 端末開発社(Apple/Google/...)が推奨してる言語で作ったアプリより、だいぶ重い。

→なので、「どうでもいいアプリ」向け。


1.5 常識どおりです

リソース・速度で厳しい組み込み開発に、重いレイヤを入れるのは、これまでに死屍累々の、死亡フラグパターン。

それを乗り越えるマジック要素を、何も提供していない。

イメージしやすい例として、
 VisualBasic衰退期に、MicrosoftがVB開発者をWebアプリ開発に転用する、
 Visual Web Developerてのを作って失敗してた。
あれと同じ。

(ただし、HTML5の知識は、IT屋としては今後必須になる(=推測)ので、将来性が全くない訳ではない)




2.背景深読み


2.1 大人の知識:カネの流れを推測


もとはカナダのNitobi社が作っていた→Adobeが買収した。

2011年に、Apache財団に Cordova の名前でコードを寄贈した。以降、最先端の開発版は Cordova であり、そのディストリビューションの一つが PhoneGap であるという位置づけにした。

Cordovaの管理方式はApacheの方式に従う。
PhoneGapはAdobeが管理する。


2.2 ドキュメントサイトの出来の良さ・悪さ


現状、Adobeは「いらない子」状態にみえる。

  • PhoneGapのサイトを見るより、Cordovaのサイトを見るほうがよい。
PhoneGapのサイトは、情報のまとまりが悪くて、知りたいことがすぐに調べられない。一方でCordovaのサイトは、わかりやすい。

  • Cordovaのドキュメント群を、Cordova->PhoneGapに置換しただけで公開してる。
しかも置換漏れがある。


2.3 Adobe は何がしたいんだ?


Adobeはもともと、Dreamweaverという、デザイナー好みなWebサイト開発ツールを売っていて、大きなシェアを持っていた。(=事実)

Dreamweaverを今後どう作ってどう売っていくかという戦略の話で、技術が近い PhoneGap を買って、味方に取り込みたかったのではないか。(=推測)

  • 同じECMAScript系(=事実)
(Flashの制御言語はActionScript = ECMAScript + 独自オブジェクト。
Javascript = ECMAScript)

  • HTML5の出現で、Flashは斜陽。(=事実)

Dreamweaverを買うのは「オシャレ風な」Webサイトを作ってるデザイナー会社。
そういう人たちの「俺らもスマホアプリつくんなきゃ」危機意識を取り込もうとしたっぽい(=推測)


デザイン会社に要注意


Dreamweaverの話からの妥当な推理として、
「スマートフォンアプリの 画面遷移だけ を受注したいWebデザイン会社」
には、魔法のツールに見えるだろう。

実装会社はクソ重いレイヤで苦労させられると推測する。
トップ会社メンバを含む御前会議では、全力で対案を出すべし。



参照


 Cordovaのサイト
 http://cordova.apache.org/
 
 PhoneGapのサイト
 http://phonegap.com/


ここまで