
![]()
『このiOSアプリ*サービスに学ぶ!』は、オープンソース情報ブログ「MOONGIFT」管理人の視点から捉えたiOSアプリや周辺サービスから、ユニークなもの、興味深いものをピックアップし、そのポイントを解説していきます。iOS(iPhone/ iPad/ iPod touch)デバイスの利用者、その環境向けのアプリやサービスを開発している方はぜひお読みください!
iOSアプリを開発しようと思ったらObjective-Cを覚えなくてはならない。だが若干特殊な言語であることや、GC等の仕組みがWeb系プログラマーに馴染まないこともあって、開発に悪戦苦闘している人も多いだろう。
そこで最近注目を集めているのがJavaScriptを使ったiOSアプリ開発になる。最も有名なのは「Titanium」だろう。TitaniumではJavaScriptといっても独自の仕組みを使って開発を行う必要がある。Webサイトとしても動作するレベルでの開発を行えるPhoneGapのプロジェクトPhoneGap Buildを今回紹介しよう。
そこで最近注目を集めているのがJavaScriptを使ったiOSアプリ開発になる。最も有名なのは「Titanium」だろう。ただし、TitaniumはJavaScriptが活用できるといっても、独自の仕組みを使って開発を行わなければならない。そこで、今回はWebサイトを動作させる知識レベルでの開発が行える「PhoneGap」を踏まえつつ、その新プロジェクト『PhoneGap Build』について紹介しよう。
| ■今回の注目アプリ*サービス | |
|---|---|
| 名称 | PhoneGap Build |
| 概要 | 「PhoneGap」対応の各種デバイス向けアプリをWebブラウザ上で生成しダウンロードできるサービス |
「PhoneGap」は、iOSアプリのなかに配置したHTML/JavaScript/CSSをラッピングし、アプリとして動作させるオープンソース・ソフトウェアだ。多少の独自関数はあるものの、Web上で動いていたJavaScriptがほぼそのまま利用できる。最近ではRESTfulかつJSONPを使えるWeb APIも多いので、JavaScriptだけでWebアプリケーションおよびiOSアプリが開発できるようになる。
エンジンはiOSの他にもAndroidやSymbian、webOS、Blackberry向けに提供されている。つまり1つのコードから多数のデバイスに対応したアプリが開発できるのだ。このあたりはTitaniumと同じだが、TitaniumがiOSとAndroidに特化しているのに対して、PhoneGapは幅広いのが利点だ(ただし、現状ではあまり細かい機能を使えるわけではなく、Titaniumに比べると機能的には見劣りする)。
次の利点として、「PhoneGap」はあくまでも実行エンジンでしかないのでビューの部分は自由に選択できるというメリットがある。例えばSencha TouchやjQuery Mobileなどを用途に合わせて選択できる。
「PhoneGap Build」は「PhoneGap」の新しいプロジェクトで、「PhoneGap」が対応する各デバイス向けのアプリをWebブラウザ上で作成してダウンロードできるサービスになる。
「PhoneGap Build」上ではアプリ開発は行わない。マイページで新しいアプリの作成ボタンを押すと、Gitリポジトリを登録するように促される。自分のローカルなりで開発し、オンラインでアクセスできるGitリポジトリへPushすればよい。後は「PhoneGap Build」がビルドのたびに最新のソースを取り込んで各デバイス向けのアプリを生成してくれる。設定画面ではSSHキーを登録できるようになっているので、Github等で非公開のリポジトリを作成していても利用できるようだ。
アプリを登録したら、後は保存をすると自動的にビルドのプロセスになる。なお、デフォルトのままではiOSアプリは生成できないので注意して欲しい。ちなみに、AndroidやSymbianといったOS向けのビルドは完了後、バイナリをダウンロードできる。
iOSアプリを生成する場合は、開発用のプロビジョニングおよびp12ファイルの登録が必要になる。それらはAppleのiOS Developerからダウンロードしたり、キーチェーンアクセスからエクスポートできるものになる。証明書系のファイルなので、扱いには注意が必要だ。iOSアプリを生成する場合はあくまでも自己責任で「PhoneGap Build」を使ってほしい。
キーを登録するとアプリを生成する際に利用するキーとして登録したデータが選択できるようになる。これを選んだ状態で保存するとiOSのビルドも行われる。なお筆者環境ではなぜかエラーになってしまった。
もともと、「PhoneGap」を使った開発においては、「PhoneGap」をダウンロードし、wwwというディレクトリの中にHTML/JavaScript/CSSを入れて開発していた。開発時にはWebブラウザで確認し、一段落した段階でコンパイルしてシミュレータで確認するというステップだった。
「PhoneGap Build」ではビルドのステップを飛ばしてくれるのがメリットになる。また、他のデバイス用の開発環境を整えるのは手間がかかるが、「PhoneGap Build」を使えば一気にすべてのデバイス向けにアプリを生成して確認できるのが便利だ。
iOS向けについていえば、証明書関係のファイルを登録しなければならないという心理的障壁が大きい。またGitを使って開発している人はまだ、それほど多くないだろう。恐らくGithubを使って開発している個人開発者を想定していると思われる。
また、ビルドのキューに入ってから実際に確認できるまでが時間がかかる。そのためダウンロードしてから動作確認というステップではストレスになってしまいそうだ。あくまでも多彩なデバイス向けのバイナリ生成と考えるほうがよいかもしれない。
「PhoneGap Build」は「PhoneGap」の面白さを知るのに良いサービスだと思われる。Web向けの技術(HTML/JavaScript/CSS)だけでiOSをはじめとする各種スマートフォンで動作するアプリが開発できる。個々人が持ち合わせる開発環境では生成されないであろうアプリが「PhoneGap Build」を通じて一気に生成されるので、「PhoneGap」で作ったアプリを多彩なデバイスに展開したいときに使ってみたいサービスだ。
■MOONGIFT プレミアムのご案内
「MOONGIFT」では、オープンソースソフト(OSS)情報の先行公開および専用記事をプレミアム(月額500円。1週間の無料お試しあり)として提供しています。いち早く情報を得られれば日々の業務や新しいビジネスの創出に役立ちます。さらにOSSをジャンル別にまとめた記事やエンジニアへの啓蒙記事を読みたい方はぜひご利用ください。