読者です 読者をやめる 読者になる 読者になる

アプリカンブログ

HTML5でiOS/Androidアプリが開発できるプラットフォーム、アプリカンのブログです。

HTML5でアプリを作るハイブリッドアプリの利点とは?(1)

iPhoneアプリ、Androidアプリを開発する方法は幾つかあります。まず一つ目として公式にサポートされたネイティブのプログラミング言語を使う方法です。iOS向けであればObjective-CやSwiftを、AndroidであればJavaを使います。

もう一つはサードパーティーからリリースされているプログラミング言語を使う方法です。例えば以下のような技術が存在します。

技術 言語
Corona Lua
Titanium JavaScript
Xamarin C#
Unity C#/JavaScript/Boo script
Adobe AIR ActionScript3

このようなフレームワークやソフトウェアを使うことで、iOSやAndroidアプリを開発できます。一般的にこの手の技術は一つのソースコード(ワンソース)でマルチプラットフォーム(iOSとAndroid。場合によってはWindows PhoneやWebブラウザなど)にアプリを提供します。

そして最後に紹介するのが今回のタイトルにあるハイブリッドアプリです。ハイブリッドアプリは次のような特徴があります。

HTML5 + JavaScriptでアプリを開発

ハイブリッドアプリが使う技術はHTML5とJavaScriptになります。つまりこれまでWebシステム開発で使ってきたフロントエンド開発の技術そのままでアプリ開発を行えるということです。

WebView上で動作する

HTML5/JavaScriptはWebViewと呼ばれるアプリやOS内にあるWeb表示を行うコンポーネント上で動作します。いわばアプリ内にHTTPサーバがあるような感じです。そのためJSONPやAjaxなどを使って外部サーバとデータの送受信を行うこともできます。

iOS、Androidアプリが両方作れます

ハイブリッドアプリを提供する技術は幾つかありますが、通常マルチプラットフォーム(iOSやAndroidなど)に対応しています。iOS、AndroidともにWebViewはWebKit系のレンダリングエンジンを使っており、表示結果はほぼ変わりません。

Webアプリをネイティブアプリでラッピング

HTML5/JavaScriptで開発しているとあって、基本はWebアプリと変わりません。違いとしてはハイブリッドアプリの構造はWebアプリを覆うようにネイティブアプリの層が存在します。次の画像のようなイメージです。

f:id:moongift:20141203204951p:plain

そのため、Web技術を使ってネイティブアプリを開発できるということです。

ネイティブの機能が使える

ハイブリッドアプリがWebアプリと似ていると書きましたが、大きな違いとしてハイブリッドアプリはネイティブの機能が利用できるようになっています。例えばプッシュ通知です。プッシュ通知を使うとアプリの利用を促進させたり、活性化につなげることができます。これはWebアプリでは使えません。

また、iBeaconやアプリ内課金のような機能も使えます。HTML5のAPIは多機能で、位置情報の取得などは可能ですが、保存できるデータ容量に制限があったりします。そういった点においてもハイブリッドアプリには利点があります。

アプリストアで配布

ハイブリッドアプリはiOSのApp Store、AndroidであればGoogle Play(他にもありますが)で配布するのが一般的です。これは善し悪しがあると思いますが、一般的にWebサイトへの再訪問率に比べてアプリの再利用率は数倍(場合によっては数十倍)も高い傾向にあります。これはアプリがブックマーク代わりになっており、検索のような手間が不要ですぐに使えること、プッシュ通知などの仕組みにより活性化施策がとれることが要因としてあげられます。

パフォーマンスを求めるところはネイティブで

ハイブリッドアプリの ハイブリッド たる所以はネイティブとWeb技術のいいとこ取りである点です。Web技術の良いところは開発が容易で高速であるところ、ネイティブ技術の良いところはパフォーマンスが高いところにあります。メニューの開閉やタブバーなどパフォーマンスを求めるところはネイティブを使い、素早い開発でどんどん進化させていきたいポイントはWeb技術と組み合わせて開発ができます。

もちろんネイティブで実装する部分はiOSであればObjective-CまたはSwiftで、AndroidであればJavaと別々で開発しなければなりません。そのためあまりネイティブでの実装が過ぎるとハイブリッドであるメリットまでなくなる可能性があります。この点はハイブリッドアプリならではの注意点でしょう。


今回は技術面から見た時のハイブリッドアプリのメリットを紹介しました。Web技術を使ってアプリ開発ができますのでこれまでに培ったナレッジを活かせるようになります。現在、モバイルWebからネイティブアプリへとトレンドが移っていると言われています。ぜひハイブリッドアプリでアプリ開発をはじめてみてください!

アプリカン | アプリ開発支援プラットフォーム