JavaScriptでiPhone SDKを利用する「PhoneGap」
iPhone/iPod Touchの魅力に位置情報の測定や加速度センサーがある。これらを使えばこんなもの、あんなものができるとわくわくさせられるが、こうした内部のAPIを使うにはiPhoneネイティブなアプリケーションを開発する他ない。
ネイティブアプリケーションによる位置情報取得(実行はiPhoneエミュレータ)
しかしネイティブアプリケーションは開発の工数や公開までの道のりが長く感じられてしまう。もっと手軽に使うならWebアプリケーションが一番だ。そこでWebアプリケーションから内部APIを利用できるようにしてしまおうというのがこのソフトウェアだ。
今回紹介するオープンソース・ソフトウェアはPhoneGap、iPhone SDKとWebを橋渡しするソフトウェアだ。
PhoneGapはiPhoneネイティブなアプリケーションで、立ち上げることによってgapというプロトコルが使えるようになる。このインタフェースを介して、JavaScriptがiPhone SDKを利用できるようになるのだ。
テスト用URLで実行したところ。エミュレータではうまく動作しないのだろうか(またはエミュレータが古い?)?
現在は加速度センサーと位置情報が関数として利用できるようになっている。今後はカメラやバイブレーションと言った機能も対応する予定に挙がっている。例えばWebアプリケーションからカメラの写真を即座に取得できるようにしたり、クイズで間違うとバイブレーションしたりとネイティブアプリケーションさながらの機能が実現できるようになるだろう。
iPhoneのCPUは600MHz相当と言われている。これでは動作が重たくなってしまうのも当然と言えそうだ。その点、WebアプリケーションであればSafariのレンダリングだけで利用でき、重たい処理はサーバ側でバックグラウンド処理ができる。PhoneGapを使えばクライアントの機能とWebの良さを両得できるようになりそうだ。
PhoneGap | Bridging the iPhone GAP
sintaxi’s gap at master — GitHub