Asial Blog

Recruit! Asialで一緒に働きませんか?

PhoneGap/Cordova最新の状況についてのまとめ

カテゴリ :
Monaca
タグ :
Monaca
JavaScript
HTML5
2013年も残りわずかになって参りました。この記事では、2013年を振り返る意味でも、最近のPhoneGap/Cordova界隈の状況をまとめておきたいと思います。

なお、この記事はHTML5 Advent Calendar 2013 5日目の記事となっています。

さてPhoneGapですが、2013年も例によって怒濤の(後ろを振り返らない感じで)メジャーバージョンアップを毎月のように繰り返してきました。現在の最新安定版は11月末にリリースされたPhoneGap 3.2となっていますが、今年の初頭がバージョン2.3だったことを考えると、相当なスピードと言えそうです。

なお、PhoneGap 3系がリリースされてからは、PhoneGap 2系も平行してメンテナンスが続いているようです。実際に、PhoneGap 3.1のリリースと同時に、PhoneGap 2.9.1という形でメンテナンスリリースも行われました。PhoneGap 3系になり内部機構が大幅に変わったため、当面はこのような措置が続けられるのでしょう。

さて、それぞれのバージョンでの変更点ですが、実はPhoneGapから呼び出せるネイティブ側機能、要するにJavaScript APIの追加はほとんど行われていません。これはバージョンアップのイメージと反するかもしれません。主に行われている変更は、PhoneGapのHTML5標準へのより適合した準拠、そして開発効率を高めるためのツールなどの整備となります。

現在のPhoneGap/Cordovaの立ち位置は「Packaged Web Apps」にて定義されているHTML5標準に準拠することを考慮しています。この仕様は2006年に「Widgets」という名前でOpera社によって提案されたもので、ブラウザー外でWebアプリを動作させるための仕様でした。2009年にPhoneGapが登場した際には独自設計で同様の仕組を提供していましたが、PhoneGapがバージョンを重ねるにつれ、このHTML5仕様の変更とともに、両者が歩み寄ってきています。

特に大きな変更がPhoneGap 3.0にて行われました。もともとPhoneGapではカメラ操作や連絡帳、GPSなどのJavaScript APIがすべて1まとまりとして、全入り状態での提供されていました。それが、バージョン3を機にそれぞれ独立したコンポーネントに分離され、ユーザーが必要な機能をアプリに組み込んで利用する形に変更になりました。これも、HTML5標準と足並みをそろえた結果となります。

バグフィックスや新プラットフォーム対応などと並び、現在開発チームのパワーはcordovaコマンドに当てられています。node.jsベースのこのコマンドを用いることで、アプリの開発効率を高めることを目的としています。また、Cordovaプラグインというネイティブ機能を外部から組み込む仕組みの整備も進められており、plugmanコマンドの拡張だけでなく、npmやCPANのようなCordova Pluginレポジトリーも今後積極的に使われていくことになるでしょう。

いずれにせよ、マルチOS対応のクロスプラットフォームツールとして産声をあげたPhoneGapですが、今後はHTML5 Packaged Appsの制作ツールとして認知をされていくことになるのでしょう。そして、この流れはFirefox OSのネイティブアプリや、Chrome Packaged Appsなどと同じ方向に進んでいます。

2014年もこの分野を取り巻く状況は、大きく変わってくことになるのでしょう。ただ1つ言えるのは、Adobe、Google、Firefox、Tizenなどのインターネットを牽引する企業は、この方向性を欲しているという事です。すべてのレールは、WWWの世界がスマホやPC、テレビ、家電といった様々なデバイスに適用され、巨大な共通オペレーティングシステムとして機能する形に通じています。

そして、アシアルも同じ未来を夢見ていることも(笑)。