AndroidやiPhoneの普及により、コンピューターの動作OSは一気に多様化しました。最近ではWindows 8の登場で、スマートフォンやタブレットの世界についても、徐々にWindowsが浸透し始めています。このように、現在さまざまなモバイル向けOSが登場し、爆発的な勢いで普及しています。

表●モバイルOSと代表的な端末
OS 開発元 代表的な端末
iOS アップル iPhone、iPad、iPod Touch
Android グーグル GALAXY S III、Xperia等
Windows 8、Windows RT マイクロソフト VAIO Duo 11、Surface等

 その流れの中で、ハイブリッドアプリが注目を浴びています。ハイブリッドアプリの仕組みでは、iOS、Android、Windows 8といったさまざまなOSに対応した、マルチスクリーン対応アプリを開発できるのが特徴です。

 そのハイブリッドアプリの開発ツールの代表が、アドビシステムズ社が開発するPhoneGapです。PhoneGapではHTMLとJavaScriptというWebの技術を利用することで、ワンソースで複数の端末に対応するアプリを開発することができます。

 スマートフォン向けアプリといえば、Objective-CやJavaを用いて端末上で直接実行するネイティブアプリや、サーバーから配信してブラウザ上で実行するWebアプリが思い浮かびます。ハイブリッドアプリはWebアプリと同様にHTMLを使って開発する一方、ネイティブアプリの形をして配布されることから、両者の特徴を組み合わせたものと捉えることができます。

図1●ハイブリッドアプリとWebアプリ、ネイティブアプリの違い
図1●ハイブリッドアプリとWebアプリ、ネイティブアプリの違い
[画像のクリックで拡大表示]

 さて、ハイブリッドアプリの内部的な仕組みは簡単です。ハイブリッドアプリでは、アプリの内部にブラウザが組み込まれます(WebViewとも呼ばれます)。そのブラウザがJavaScriptを実行し、HTMLの画面を出力します。このような仕組みから、ハイブリッドアプリはシェルアプリ(Shell App、Shellは貝殻の意味)とも呼ばれます。