The sky is the limit

ハイブリッドアプリ開発、PWAなど効率の良いiOSアプリ、Androidアプリ開発の情報を共有したい。アプリ開発は楽しい。【PWA、AngularJS、Monaca、Cordova、OnsenUI】

2章 ネイティブアプリ、Webアプリとの違いは?-【連載】ハイブリッドアプリの最新情報とその動向【Corodva】

【連載】ハイブリッドアプリの最新情報とその動向【Corodva】

f:id:duo-taro100:20160218004611p:plain

2章 ネイティブアプリ、Webアプリとの違いは?

今回はハイブリッドアプリがネイティブアプリ・WEbアプリとそれぞれどのように違うのかを詳しくみていく。

まずはハイブリッドアプリとの比較の前に、ネイティブアプリとWebアプリの特徴を以下の観点でまとめる。 ネイティブアプリ、Webアプリの知識が十分だという方はページ下部の「ハイブリッドアプリについて」からみてもらえればいいと思う。

ネイティブアプリについて

<開発者視点>

開発コスト

開発にあたってプラットフォームごとの開発言語を使用するため、開発コストは比較的高い。 Android版ならJava, iOS版ならObjective-CSwiftを使う。
開発言語だけでなく、開発環境や各OSの知識なども必要になる。

メンテナンスのしやすさ

上記のように各プラットフォームごとの開発なので、修正を加える場合にはそれぞれのソースを修正する必要があり、メンテナンスする際の労力が大きくなってしまう。また修正内容をすぐにアプリに反映することができない。公式ストアを介しているので、配信のための審査が入り、その修正内容がアプリに反映されるためには時間が必要。

開発制約

公式ストアの審査を通るためには、開発に制約をかけなければならない場合もある。
例えばAndroidiOSはそれぞれの公式ストアに配信する開発者向けのガイドラインを用意しているが、 それに則って、開発を進める必要がある。


<ユーザー視点>

動作速度

ネイティブアプリは動作が速い。
なので、高速処理を必要とするゲームや、グラフィックにこだわったアプリなどではネイティブアプリが使われることが多い。

利用環境 (オフライン?オンライン?)

ネイティブアプリは実機にインストールして使われるため、基本的にはオフラインでも利用可能。


<共通>

公式ストア

ネイティブアプリは公式ストアでの配信が可能であり、開発側としてはユーザーに見つけてもらいやすいという大きなメリットがある。ユーザーとしても公式ストアに配信されている方が検索しやすく、また信頼性が高い。なので公式ストアで配信できるネイティブアプリは開発側、ユーザー双方にメリットがある。 集客性は公式ストア経由が圧倒的に強い!   

デバイス機能の利用

ネイティブアプリではデバイスの機能を最大限に生かしたアプリの作成が可能。
機能の利用に制限がないこと、機能を利用する際の速度も速いことがネイティブアプリの強み。

UI・UX

基本的にはデバイスにあるネイティブUIがそのデバイスに最適化されているため、使いやすく(UX)、スタイリッシュ(UI)に見えることが多い。ネイティブアプリではこのネイティブUIを利用できるので、開発者にとってもユーザーにとってもメリットが大きい。 

f:id:duo-taro100:20160218005810j:plain 

Webアプリについて

<開発者視点>

開発コスト

ブラウザで表示を行うため、プラットフォームごとに開発言語を分ける必要がないWebアプリは開発コストが低いといえる。HTML,CSS,javascriptでの実装ができるので、Web開発技術の流用ができ、学習コストもかからない。

メンテナンスのしやすさ

上記のように基本的には開発言語を分割する必要がないのでメンテナンスの労力が少しで済む。また修正内容をすぐに反映させることができ、バグが発生した時などは迅速な対応が可能。

開発制約

公式ストアの審査を経るネイティブアプリと比較すると制約は少ない

 

<利用者観点>

動作速度

Webアプリはネイティブアプリと比較するとは動作が遅い。
なので、高速処理を必要とするゲームや、グラフィックにこだわったアプリなどには向いていない。以前よりはWebアプリの動作速度は向上しており、複雑な処理が少ないアプリであればネイティブとあまり変わらない。

利用環境(オンライン or オフライン)

ブラウザでの表示を行うためオンライン環境が必要。HTML5ではブラウザ内のキャッシュが利用可能だが、それにも制限があるのでオフラインでユーザーに満足してもらうことは難しい。


<共通>

公式ストア

Webアプリは公式アプリからの配信ができない。そのため、ユーザーが目に入れる機会は、ネイティブアプリに比べると少なくなる。また公式アプリからインストールして使うアプリに比べて、信頼度はガクッと落ちる。
ブックマークやブラウザ検索からの利用者が多いWebアプリは、インストールして画面上にアイコンが表示されるネイティブアプリに比べて再訪問率が低い。

デバイス機能の利用

Webアプリではデバイスの機能を最大限に生かしたアプリの作成は難しい。
現状では、この点に関してネイティブアプリに太刀打ちできない。
一方で、近年はデバイス側がこの点を改善する方向で(Webアプリからもデバイス機能にアクセス可能にするという)動いている。
近い将来は、このような憂いが無くなる可能性も??

UI・UX

WebアプリではネイティブUIを使えないため、使いやすさ(UX)や見た目(UI)の問題を抱えることが多い。 しかし、この問題を解決するためにWebアプリ用のUI専用フレームワークも出ているので、そこまで気にしなくてもいいかもしれない。

f:id:duo-taro100:20160218004600p:plain

 

ネイティブアプリとWebアプリの特徴については以上。

ではハイブリッドアプリとはどのように違うのか、比較形式でみていく。

ハイブリッドアプリについて

<開発者視点>

開発コスト

Webアプリと同様。ネイティブアプリと比較すれば開発コストを低く抑えることが可能。

メンテナンスのしやすさ

Webアプリと同様。ネイティブアプリと比較すればメンテナンスの力を低く抑えることが可能。またアプリストア経由でなくても機能のアップデートができるのは強み。

開発制約

ネイティブアプリ同様、公式ストアの審査を通るためには、開発に制約をかけなければならない場合もある。また、ネイティブアプリと比べて審査を通りにくいという点も注意しなければならない。(最近はかなり改善されてきている)


<ユーザー視点>

動作速度

Webアプリと同様、動作速度はネイティブに劣る。
なので、高速処理を必要とするゲームや、グラフィックにこだわったアプリなどには向かない。一方でWebアプリよりは動作速度は優れている。


利用環境 (オフライン?オンライン?)

ネイティブアプリ同様に、実機にインストールして使われるため、基本的にはオフラインでも利用可能。


<共通>

公式ストア

ネイティブアプリ同様に、公式ストアでの配信が可能であり、開発側としてはユーザーに見つけてもらいやすく、ユーザーとしても公式ストアに配信されている方が検索しやすく、また信頼性が高い。

デバイス機能の利用

ネイティブアプリ同様に、デバイスの機能を生かしたアプリの作成が可能。
でも実装可能な機能は、開発に使うツールフレームワーク)に依存するというデメリットもある。

UI・UX

Webアプリ同様に、ネイティブUIを使えないため、使いやすさ(UX)や見た目(UI)の問題を抱えることが多い。 しかし、この問題を解決するためにハイブリッドアプリ用のUI専用フレームワークも出ているので、そこまで気にしなくてもいいかもしれない。

 

f:id:duo-taro100:20160214124138j:plain

以上が、ハイブリットアプリとネイティブアプリ、Webアプリそれぞれの違い。

次回は今回と似ている内容だが、「【連載】ハイブリッドアプリの最新情報とその動向【Corodva】- 3章 ハイブリッドアプリのメリット・デメリット」というタイトルで書いていく。

it-innovation.hatenablog.com

 

以上