ソースコードを一つ書くだけで、AndroidとiOS向けのアプリを自動生成できる。そんなマルチOS対応の開発フレームワークを活用すれば、アプリ開発を大幅に効率化できる。ここでは三つの開発フレームワークを取り上げ、その特徴を解説する。

 スマートデバイスの市場において、AndroidとiOSのシェアは拮抗(きっこう)している。そのため「どちらのOSの端末でもアプリを使えるようにしてほしいという要望は非常に多い」(日立ソリューションズ 技術開発本部 生産技術センタ GM 西口真人氏)。

 こうした要望に対して、高い使用性が求められたり、カメラやGPSなど端末やOSが備える固有機能を活用したりするケースでは、ネイティブアプリが第一の選択肢となる。動作速度や実装できる機能の幅広さといった点で、ネイティブアプリは優れている。

 しかしAndroidとiOS向けにそれぞれネイティブアプリを作ろうとすると、AndroidはJava、iOSならObjective-Cと、両者の開発言語は異なり、コストと時間がかかる。開発後の保守や改修も大変である。

 そこで出てくるのが「マルチOS対応の開発フレームワークを使う」という選択肢だ。ソースコードを一つ書くだけで、AndroidアプリとiOSアプリを自動生成できる。このマルチOS対応開発フレームワークはどういう仕組みになっていて、利用に当たってどんなメリットやデメリットがあるのか。このPART4では以下、「PhoneGap(フォンギャップ)」「Titanium(タイタニウム) Mobile」という代表的な二つの開発フレームワークと、業務アプリの開発に特化した国産フレームワークである「Caede(カエデ)」を取り上げ、それぞれの特徴を見ていく。

PhoneGap
Webページを作る感覚で開発可能

 PhoneGapは、米Adobe Systemsが無償配布している開発フレームワークである。HTML5、CSS3、JavaScriptというWebの標準技術だけを使ってアプリを作る点に特徴がある(図1)。Webブラウザー上で動作させるWebアプリを作った経験のある開発者なら、PhoneGapを使って比較的容易にアプリを開発できるだろう。

図1●PhoneGapのアーキテクチャー
開発者は対象機種のWebViewで動作するコードを書く。端末やOSの固有機能を利用する仕組みには、ブリッジ機構とプラグインがある
[画像のクリックで拡大表示]