JavaScriptやRubyなどの軽量言語でスマホアプリを開発できるフレームワークが増えてきた。これまでスマホアプリの開発手法は、開発が容易なWebアプリ、高機能で使い勝手の良いUIを実現できるObjective-CやJavaによるネイティブアプリという、二つのアプローチがあった。軽量言語によるフレームワークは、両者の利点を併せ持つ。

 2012年に入って、JavaScriptやRubyといった軽量言語でスマホアプリを開発できるフレームワークが充実してきた()。米アドビ システムズの「PhoneGap」、米モトローラ ソリューションズの「RhoMobile Suite」、米アップセラレーターの「Titanium Mobile」といった製品は、2012年6~7月にかけて相次いで新版を提供開始した。Objective-CやJavaなどで開発する場合と比べて手軽さが評価され、利用事例が増えている。

表●軽量言語(LL)でスマホアプリを開発するためのフレームワークの一覧
[画像のクリックで拡大表示]

 例えば、Titanium Mobileは、iOS向けとAndroid向けで合計4万件以上のアプリ開発に利用されている。アプリの実行性能やユーザーインタフェース(UI)の使い勝手の面で、Objective-CやJavaで開発したアプリとほとんど遜色がない。画像処理やアクションゲームなど特殊な場合を除けば、あえてObjective-CやJavaで作る必然性は薄れてきている。

 新規の製品も増えている。SCSKが2012年9月に「Caede」を、Webサイト構築などを手掛けるジークスが2012年9月に「ダイナミックアプリ」を、米ヒップバイトが2012年5月に「RubyMotion」を、それぞれ発売した。

高機能で開発も容易

 スマホアプリの実現形態は従来、(1)ブラウザーで動作させるWebアプリ、(2)Objective-CやJavaで開発するネイティブアプリ、二つのアプローチがあった。

 (1)のWebアプリは開発が容易であり、多様なプラットフォームに対応できる利点がある。しかし、Webアプリの場合、現状ではカメラや加速度センサーなどスマホ上のデバイスへのアクセスに一部制約がある。課金処理やアプリストアでの配布にも対応できない。

 (2)のObjective-CやJavaで開発するネイティブアプリは、複雑な機能を実現でき、開発の自由度が高いという利点がある。しかし、OSの機能や利用方法について詳細な知識が求められるほか、開発言語であるObjective-CやJavaの習得コストも大きいため、初心者には開発のハードルが高い。

 軽量言語を用いたスマホアプリ開発フレームワークは、(1)と(2)の中間的なアプローチであり、両者の利点を兼ね備える(図1)。

図1●スマホアプリの実現手法の比較
JavaScriptやRubyなど軽量言語によるフレームワークを利用すれば、Objective-CやJavaを用いたネイティブアプリおよびWebアプリ、両方の利点を兼ね備えたアプリ開発が可能となる
[画像のクリックで拡大表示]

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。