モバイルプラットフォームには,ほぼすべてに共通するものが2つだけある - WebKit と高速な Javascript VM だ。HTML(5) と Javascript を使ってアプリケーションのコードを書いておけば,プラットフォーム毎にスクラッチから書き直す必要はなくなる。しかしそれを アプリケーションサイト (app store) で配信するには,プラットフォーム毎の ネイティブなアプリケーション の形でパッケージしなければならない。
PhoneGap は HTML/Javascript アプリケーションに対して,そのような作業を正確に実行するツールのひとつである。同じ目的のフレームワークである Rhodes では,アプリケーションロジックの記述に Javascript に加えて Ruby も使用できる。
しかしこれらのフレームワークを使っても,開発者にはもうひとつ,やっかいな「ヤク毛刈り」作業が残っている。すなわち,全モバイルプラットフォーム用の SDK のインストール,ビルドプロセスのセットアップ,そしてビルドを実行するための CI (Continuous Integration,継続的インテグレーション)システムの用意である。この最後のステップは,思うほど簡単なものではない。iOS アプリケーションは iOS SDK でビルドされなければならず,しかもそれが動作するのは Mac に限定されているからだ。
解決方法 は,細かな作業を他に任せることである。そして,まさにそれを行うのがモバイルアプリ用の ビルドサービス だ。
そのリストの中でも一番古い存在は,Rhodes フレームワークのユーザを対象とする RhoHub である。しかし実際には,RhoHub の提供する機能は,単にビルドやパッケージングに限られたものではない。コードが Git (RhoHob にはそのレポジトリをホストする機能がある) を通じてサービスにプッシュされると,Rhodes のサポートするプラットフォーム用のビルドプロセスが開始される。
さらに RhoHubは,Rhombile のデータ同期サービスである PhoSync によってホストされたデータの管理も行う。Rhodes フレームワークは MIT ライセンス が適用されている。RhoSync と RhoHub は商品として提供される。
さらに Apparat.io という名称の,アプリのソースをインストール可能なアプリケーションに変換する uxebu の新しいビルドサービスがある。このサービスは現在プライベートベータの段階であり,Twitter のアカウント @apparatio をフォローすれば,現時点での状況を知ることができる。
Apparat.io Web サイトとドキュメント に対するプレビューが先日より公開されている。現時点でのサポート対象は Android と iOS 用ビルドの2つである。GitHub にある Apparat.io をポイントして,そこにストアされているアプリケーションをビルドすることも可能である。Twitter アカウントでの「つぶやき (tweet)」によると,Android と iOS 用のネイティブアプリケーション構築には PhoneGap が使用されているようだ。
さらには PhoneGap の開発会社から,PhoeGap/build という名前の新たなビルドサービスの提供が発表されている。今のところは,ベータ版とサービス完成時の連絡に関する申し込みを行う Web サイトがあるのみだ。
読者はアプリケーション構築に Rhodes や PhoneGap を試用した経験をお持ちだろうか?