kuguru[クグル]kuguru[クグル]|人が、ITの世界をくぐり抜けるためのアイデアを。menuTOPビジネスプログラミングキャリアライフガジェットTOPプログラミングアプリ開発ハイブリッドアプリとは?仕組みとメリット・デメリットを解説ハイブリッドアプリとは?仕組みとメリット・デメリットを解説ハイブリッドアプリという言葉を聞いたことはありますか?ハイブリットとは異種のもの同士を組み合わせたものという意味ですが、ハイブリッドと言われてハイブリッドカーを思いつく方がいるかもしれません。ハイブリッドカーは電気駆動とガソリン駆動の混合です。今回は、ハイブリッドアプリについて解説していきます。まとめハイブリッドアプリとはハイブリッドアプリは、「Webアプリ」と「ネイティブアプリ」のハイブリッドという意味です。Webアプリはブラウザ上で動作するアプリのことを指します。Webアプリの最大の利点は、マルチプラットフォームなことです。Webアプリをひとつ作れば、それはWindowsでもMacでも、AndroidでもiPhoneでも動くということです。ネイティブアプリは各プラットフォーム上で直接動作するアプリのことを指します。ネイティブアプリの最大の利点は、OSが持つ細かい機能まで制御可能なことです。Webアプリはマルチプラットフォームなので、一度開発すればどのOSでも動くのが魅力です。これまではOSが持つ細かい機能まで操作できませんでした。このため、例えばスマートフォン上でカメラを操作するようなアプリは、ネイティブアプリで作るしかありません。ハイブリッドアプリは、この弱点を克服してWebアプリの利点を持ちながら、OSが持つ細かい機能まで操作できるアプリです。ハイブリッドアプリを構成する技術ハイブリッドアプリの大枠は、ネイティブアプリです。Android用、iOS用のそれぞれに作り、実行前にインストールする必要があります。ここまでの話だと、ネイティブアプリそのものです。ハイブリッドアプリがネイティブアプリと大きく違うのは、アプリの大部分にWebアプリの技術を使うという点です。ハイブリッドアプリは、Webアプリと同様に、HTML5+CSS+JavaScriptで作成します。それを支えているのが、WebViewというコンポーネント技術です。WebViewは、言わば「ネイティブアプリに組み込めるブラウザ」。これを組み込めば、ネイティブアプリ内にブラウザの機能を取り込むことができます。CordovaというJavaScriptのライブラリ群が用意されていて、これを使えばOSレベルの細かい操作ができます。まとめると、ハイブリッドアプリを構成する技術の中心は、WebViewとCordovaです。WebViewがWebアプリの利点を、Cordovaがネイティブアプリの利点を、ハイブリッドアプリにもたらします。この両方がAndroid、iOSのどちらにも用意されているので、マルチプラットフォームが実現しています。ハイブリッドアプリのメリット・デメリットハイブリッドアプリのメリットは、以下の点です。Webアプリでは実現不能な、OSに近い細かい操作ができるWebアプリでは不可能だった処理が、ハイブリッドアプリならできます。カメラやマイク、センサー、ストレージや電話帳などの操作です。これまではネイティブアプリでしか操作できませんでした。アプリの内容を変える時はサーバ側だけ初回はインストールの必要がありますが、アプリのアップデートには再インストールの必要がありません。アプリ管理者の作業が低減できます。マルチプラットフォームHTML5+CSS+JavaScriptで作成するので、Android、iOSを問わず動作します。OSの細かい操作をするためにネイティブアプリをAndroid、iOSの両方に作っていたことを考えると、大きなメリットです。ハイブリッドアプリのデメリットは、以下の点です。実行速度が遅い現段階では、ネイティブアプリに比べると実行速度が遅いことが多いです。これは、ネイティブアプリが、アプリ→OS→デバイスなのに対し、ハイブリッドアプリは、アプリ→ブラウザ→Cordovaエンジン→OS→デバイスとなり、仲介者が増えてしまうためです。今後、Cordovaエンジンの改良が進めば、ネイティブアプリとの差は縮まっていくと思われます。OSの機能の全部が使えるわけではないネイティブアプリなら使える機能でも、ハイブリッドアプリでは使えないものがあります。これはCordovaがその機能に対応していないことが原因です。今後、Cordovaが改良されていけば、改善されていくでしょう。まとめ今回は、ハイブリッドアプリについて解説してきました。AndroidとiOSのシェアは互角で、アプリを作る場合にどちらか一方というわけにはいかないのが現状です。その一方で、スマートフォンの機能をフルに使ったアプリのニーズは依然として高い状況になります。した背景があるため、今後はハイブリッドアプリがますます注目を集めていくでしょう。