iOS⁠Android両対応のアプリを実現する「ハイブリッド」いうアプローチ

ITの主戦場になったスマートフォンアプリ開発

PCからスマートフォン/タブレットへと、ITの主戦場がとって代わろうとしている中、顧客ニーズにマッチしたスマートフォンアプリケーションを迅速に、低コストで開発できることの重要性が高まっています。しかしスマートフォンアプリとしては現在、iOS、Androidという2つのモバイルOSがシェアを二分しており、スマートフォンアプリを開発するというと、iOS向けアプリとAndroid向けアプリをそれぞれ別個に開発することになることが非常に多い状況です。これは、スマートフォンはあくまで携帯電話であり、ユーザはたいていの場合、携帯電話を1つしか持たないため、ほとんどのスマートフォンユーザは、どちらか一方のモバイルプラットフォームにしか触れることはないことに起因します。アプリベンダはそのため、両方のプラットフォームに対してアプリを提供したいと考えることになります。しかし、複数のプラットフォームに向けたマルチプラットフォームアプリを開発するに際しては、いくつかの問題が生じます。

マルチプラットフォーム対応の難しさ

マルチプラットフォーム、具体的にはiOSとAndroidの両プラットフォームに対応したアプリを作るためには、iOSとAndroidではプログラミング言語、API、開発環境などが異なり、こうした差異にどう対処するかを考える必要があります。またそれらの違いを踏まえて、両プラットフォーム対応のアプリを開発・リリースするには、iOS、Androidそれぞれの開発ができるエンジニアを確保する、あるいはiOS、Androidそれぞれ別の開発チームで担当するなどが必要になります。いずれの方法でも、開発期間やコストが単純に考えて2倍かかることになってしまいます。

「ネイティブ」「Webアプリ」の利点を兼ね備えたハイブリッドアプリケーション

そのような課題を解決する方法として現在、注目されているのが、HTML5を使ったハイブリッドアプリケーションです。HTML5ハイブリッドアプリケーションとは、HTML5、CSS、JavaScriptというWeb技術を利用することで、iOS、Androidの両プラットフォームに対応した1つのアプリケーションを開発するという方法です。⁠ハイブリッド」とは、iOS、Androidそれぞれに向けた「ネイティブアプリケーション」と、Webベースのアプリケーションとして広く普及している「Webアプリケーション」を掛けあわせたそれぞれの良い面をいかしたしくみと言えます。

ネイティブアプリは、それぞれのOSのAPIを存分に利用することができ、そのOSに最適化したコードを書くこともできます。App StoreやGoogle Play Storeでアプリを配布したり、ユーザがホーム画面からアプリを起動するといったことも当然できます。一方、Webアプリの場合、Web技術を利用することで、OSの差を乗り越えて両プラットフォームに対応したアプリケーションが開発できます。さらに、開発における利点として、常にアプリが最新の状態である、Web標準の技術を用いることができる、開発速度が速い・開発費が比較的安い、といった点も挙げられます。ハイブリッドアプリは、こうしたネイティブアプリとWebアプリの利点を兼ね備えたしくみです。ハイブリッドアプリは、開発においてはWebアプリと同様、HTML5、CSS、JavaScriptなどのWeb技術を用いますが、利用に際してはその端末のブラウザを起動する必要はなく、ネイティブアプリと同様に、ストアでアプリを探して自分の端末にインストールし、起動して利用ができます。さらに、Webアプリでは利用できないような端末の機能(たとえば加速度センサやカメラ、ファイルストレージなど)が利用できます。

このように、ネイティブアプリとWebアプリのいいとこ取りをしたハイブリッドアプリですが、実際の開発にあたっては、フレームワークの活用方法、ハイブリッドアプリ開発特有の開発テクニック、ストレージの使い方やデバッグの方法など、あらかじめ理解しておきたいポイントがさまざまあります。

[iOS/Android対応]HTML5ハイブリッドアプリ開発[実践]入門では、そのようなハイブリッドアプリ開発で知っておくべき基礎と実践的知識を満載して解説しています。