BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Brian LeRoux氏に聞くPhoneGap 3.0の新機能

Brian LeRoux氏に聞くPhoneGap 3.0の新機能

ブックマーク

原文(投稿日:2013/07/22)へのリンク

 

モバイル向けソフトウェアは一大ブームを巻き起こしており、Webの技術を用いたモバイルアプリケーション開発はPhoneGapのおかげでこれまでにないほど簡単になった。アプリケーションを開発するにはHTML、CSS、そしてJavaScriptを使うだけで良いのである。それらのアプリケーションはWeb標準をベースとしているため、iOS、Android、Windows Phoneなどの多様なモバイルプラットフォーム上で使用することができるのだ。Brian LeRoux氏は小さなスタートアップ企業のNitobiでの最初期から今のAdobeまで、プロジェクト管理責任者としてPhoneGapに取り組んできた。彼はApacheで、Apache Cordovaとして知られているPhoneGapのオープンソース財団のVPを務めている。

AdobeがPhoneGapのバージョン3.0をリリースした。そして我々は、Brian LeRoux氏にPhoneGap 3の新機能についてインタビューするチャンスを手に入れた。

InfoQ: PhoneGap 3には新機能がたくさんありますが、今回のリリースで特に注目してほしい点はありますか?開発者が最も気になるであろうPhoneGap 3の機能は何だと思いますか?

Brian LeRoux氏: PhoneGap 3.0は『開発者の使い心地』というテーマを徹底していました。これは作業ワークフローとプロジェクトアーキテクチャ全体のAPIに及んでいます。
  • まったく新しいコマンドラインツール
  • 対応プラットフォームの追加
  • 新しいAPI
  • プラグインのアーキテクチャとツール
私達は開発者コミュニティとの話し合いに多くの時間を費やしました。プラットフォーム間でのコンテキストの切り替えはいまだに苦痛を伴うため、我々はすべてのプラットフォーム間での共通ワークフロー(いわゆるコンパイル、ロギング、そしてエミュレーション)を一連の共通スクリプトに統合しました。今では、PhoneGap/iOSプロジェクトをコンパイルするコマンドはPhoneGap/Androidと同じものとなっています。私達はこれらのワークフローをさらに一歩進め、新たなグローバルCLIツールのもとにすべてのプラットフォームを統合しました。このツールは『npm install phonegap -g』というコマンドを実行することで、npmからインストールすることができます。PhoneGap CLIはCordova CLIを拡張したものです。Apache CordovaとPhoneGapとのただ一つの違いは、後者は私達がホストしているAdobe PhoneGap/Buildと呼ばれるクラウドサービスを背景に持つという点です。CordovaはPhoneGapと同じように使えますし、そのように使われることが多いです。OSを問わず、あらゆるWebブラウザからビルドできるということは、大変素晴らしいことです。必要があればネイティブコードで手を汚すことができるということもまた、とても素晴らしいことです。私達は、アプリケーションをどうやってビルドするのかを教えるためにここにいるわけではありません。ただ、それをWeb技術で実現する手助けをしたいのです。私達はFirefox OSとhorizon上のUbuntuについても、新たに対応プラットフォームとして追加しました。そして、国際化に対応するためのAPIと、アプリ内でブラウザを生成するためのAPIを新たに2つ追加しました。最後に、私達はPhoneGapプラグインのアーキテクチャと関連するツールに大幅な改善を加えました。これにより、プラグインの簡単なインストール、削除そして検索を、前述したものと同じコマンドラインツールで行うことができます。

 

InfoQ: 時に、メジャーバージョンが変更されると、開発者に痛みを伴う移行作業をもたらすことがあります。既存プロジェクトにPhoneGap 3を適用することは、開発者にとって大変な作業になるでしょうか?開発者は、新しいバージョンに切り替えるのにどの程度の時間を必要としますか?

Brian氏: PhoneGap 3における大きな変更は、wwwディレクトリをトップレベルの関心事とし、ネイティブプラットフォームでの成果物のビルド作業に近づけるということです。私達はまだ、完全にコードを捨て去る形でネイティブなプロジェクトを扱える状況にありません。特殊なユースケースに対応するための微調整が時おり必要であるとして、未だにネイティブのコードをずっと手元に置いておく必要があるのです。しかし、その実現は間近です。PhoneGap 3は、私達をそのゴールに近づけてくれます。普通のWebコードを使っていれば、PhoneGap 2のネイティブプロジェクトをPhoneGap 3の構成に移植するのは難しいことではありません。wwwディレクトリをコピーするだけで大丈夫です。もし、バージョン2.xのプロジェクトをネイティブのプラグインで拡張していたのであれば、私達がそれらのコミュニティ製プラグインを移植するための時間が必要となるでしょう。私達はバージョン2.9周辺を長い期間保守し続けるつもりです。また、既存のプラグインに新しいアーキテクチャとツールを適用するため、コミュニティとの連携に重点的に取り組んでいく予定です。私達は、コミュニティの長いサポート期間を保証するため、バージョン3のリリース後少なくとも6ヶ月間は、バージョン2.9に対してバグフィックスを適用していくでしょう。

 

InfoQ: iOS 7が6月に開発者コミュニティ向けにリリースされました。秋には端末上で利用可能となるでしょう。iOS 7はいつサポートされるのでしょうか?Appleのデザイン変更に関連する、特別な課題があるのでしょうか?

Brian氏: iOS 7の出荷時期についてはコメントできませんが、iOS 7の出荷日に向けてPhoneGapが準備を整えるであろうということについては、コメントすることができます。私達はベータ版や上位互換性だけでなく、私達にとって非常に重要な下位互換性にも取り組んでいます。これはWeb技術の勝利を示す偉大な例です。iOS 7がリリースされてもWebコードは移植可能であり、最新のMobile Safariの機能とパフォーマンスの向上を活用できるようになります。各リリースでiOSのブラウザは改善し、それにともなってPhoneGapも改善することとなります。

 

InfoQ: お勧めのPhoneGapツールチェーンは何でしょうか?それは開発者に対して、多様なプラットフォーム向けの効率の良いアプリケーション開発をどのように可能にするのでしょうか?

Brian氏: 私達はWeb開発のビジネスに深入りしすぎるのではなく、むしろネイティブのオペレーティングシステムのために効率化を実現したいです。それはそれとして、私はAdobeでTopcoatと呼ばれる新プロジェクトで働いていました。Topcoatは高速でクリーンなアプリケーションのためのシンプルなCSSです。これは再びWebプラットフォームの力を実証します。任意のテキストエディタを使うことができます。私は何となくvimを使いますが、最近は気付くとBracketsを使い倒しています。PhoneGapは気にしません。すなわち、PhoneGapを使うにあたって開発者に親しみのないツールを強制しないよう、IDEを必要条件としていません。どのテキストエディタでも問題ないでしょう。最近は開発者だけでなくデザイナーも、かつてないほどに経験豊富です。最近のデザイン・開発プロセスの偉大な例はStephen Hayes氏の素晴らしい『Responsive Design Workflow』という本から見て取れます。開発者の新世代はHTML、CSSそしてJavaScriptを高校で学びました。彼らはコマンドラインを恐れず、オープンソースのツールを喜んで組み合わせます。彼らは繰り返し行います。Githubを使います。私達はこの多様性を愛し、PhoneGapにおいて、私達のツールでそれを受け入れます。すべては完全にモジュール化され、より大きく優れたプロジェクトに組み込まれることになるでしょう。例えばPhoneGapのコマンドラインユーティリティは、Cordovaプロジェクトのコマンドラインユーティリティの下位レベルのシンプルな拡張です。私たちはコミュニティが彼らのプロジェクト(Yeoman、Eclipseプラグイン、そしてその他多数のプロジェクト)でこれを採用するのを目の当たりにしています。効率的な開発についての元の質問に戻ると、私が考える最善の道は、非常に小さく始め、実際の端末でテストをし、そして未来の要件に対する予防措置ではなく、本当に必要な時にだけサードパーティのコードをインクルードすることです。モバイル端末は悪名高いことに、優れたパフォーマンスを引き出すのがWebまたはネイティブにおいて難しいとされていますので、コードの規模に注意してください。

 

InfoQ: 他のものと比べて、PhoneGapにより適しているアプリケーションの種類はありますか?あるならば、なぜそう思うのでしょうか?

Brian氏: これは、年々答えるのが難しくなっていく質問です。以前、ゲームはWeb技術に適していないと言っていましたが、これはもはや、明らかに当てはまらないでしょう。確かに、一人称シューティングゲームや3次元に集約したグラフィックスのビジネスは時期尚早です。しかし、他のほぼすべてのカテゴリのゲームは今、非常に有望です。PhoneGapアプリケーションはコンテンツが重要視される時に威力を発揮しますし、他のプロジェクトの資産を再利用する時はとりわけ優れていると感じるものです。PhoneGapプロジェクトを生成するにはたった数秒しか掛かりません。そのため、私はこの記事の読者にとにかく試してみることをお勧めします。それがあなたの役に立つのであれば、それは素晴らしいことですし、もし役に立たないとしても問題ないでしょう。一番大事なのは、あなた自身が実際に体験することが、あらゆる技術の妥当性を理解する上で本当に最善の方法であるということです。

 

InfoQ: 最近あなたが出会った、PhoneGapで実現された『ええっ、こんなことができるなんて!』と思ったアプリケーションは何でしょうか?

Brian氏: トリッキーな質問ですね。私が思うに、AdobeでCSSシェーダのデモに初めて出会った時にそのように感じました。その機能は生まれたばかりで、今すぐに開発者が使えるものではありません。しかし、それらはブラウザにいずれ実装され、私達のデザインに真に現実味のあるアニメーションとトランジションを組み込めるようになるための、価値ある一歩となるでしょう。

 

Brian LeRoux氏はPhoneGapのプロダクトマネージャ長であり、AdobeのtopcoatだけでなくApache CordovaのVPである。Node Firmのメンバーであり、モバイルWebハッカーであり、ビール狂であり、他の大勢のメンバーと共にJavaScriptの問題をwtfjsに趣味として記録している。Brian氏の情報は彼のwebサイトでチェックできる。

 

この記事に星をつける

おすすめ度
スタイル

BT