BLOG

ブログ

2021.09.28
オフショア開発知識

ハイブリッドアプリ開発とは?クロスプラットフォーム開発とは?それぞれのメリット・デメリット

アプリ開発が成功したかどうかは、リリース後に集客数やコンバージョン率(CVR)が伸びて収益がどれくらい増加したか、という点から判断できます。そしてアプリ開発を成功に導く要因の一つが、ユーザーにとって使いやすいこと。つまり、まずは誰でもどこからでも容易にアプローチできることが第一条件です。 

そのためにおすすめするのが「ハイブリッド開発」や「クロスプラットフォーム開発」です。とくに昨今は、スマホ、タブレット、パソコンと動作環境が多様化しているうえ、スマホユーザーの増加が顕著なため、どの端末からでも使えたり、iOSとAndroidに対応できればポイントが高まるのは間違いありません。ハイブリットもクロスプラットフォームもともにアプリストアから入手できてバグの修正が容易など、似ている要素があるものの、開発工程や得意分野も異なるため、その違いを知って開発手法を選択することが大切です。 

そこで今回は、ハイブリッド開発とクロスプラットフォーム開発について解説し、それぞれのメリット・デメリットにも迫ります。これからのアプリ開発に欠かせない大事な内容ばかりのため、ぜひ参考にしてください。 

ハイブリッド開発とは 

ハイブリッド開発とは、ネイティブアプリ開発とWebアプリ開発の両方の要素を組み合わせた開発手法です。具体的には、アプリストアからインストールして使えるものの、開発はWebアプリ作成向けのHTMLやCSS、JavaScriptなどの言語を使います。 

通常、iOSやAndroidといったネイティブアプリは、それぞれのOSにあったコード(iOSならObjectiveやSwift、AndroidならJavaやKotolinなど)での開発が必要です。しかし、ハイブリッド開発なら、それらを使わずに(ネイティブアプリのように)プッシュ通知や生体認証などのデバイスの独自機能を使うことができます。また、一般のWebアプリはブラウザ上で動作しますが、ハイブリッド開発したアプリは、OSに標準搭載されているWeb View上で動きます。 

つまり、スマホやタブレットなど固有の端末で動作するネイティブアプリの一面をもちながら、Webの仕組みでアプリ構築する(アプリ内にWebページを表示可能)ゆえに、「ハイブリッド」といわれるのです。後述しますが、ハイブリッド開発は、もともとパソコン用にWebサイトを運営していたところに、スマホ対応によりユーザーにさらに広く訴求したいという場合には、ピッタリの開発手法です。 

ハイブリッド開発のメリット 

それでは早速、ハイブリッド開発のメリットについてご紹介しましょう。 

HTMLやCSSでネイティブ機能が利用できる 

ハイブリッド開発では、Webアプリの開発で使うHTMLやCSSといったオーソドックスな言語で開発可能な点が大きなメリットです。しかもJavaScriptを用いたコンポーネントを追加すればデバイス独自の機能も使用できます。HTMLやCSSが使えるエンジニアは多いため、開発のハードルも決して高くはありません。もともとパソコン用にホームページのみで展開していたところから、スマホ用に対応を拡張したい時などは、このハイブリッド開発がうってつけです。ちなみにサイトが更新されるとハイブリットアプリにも反映される点も更新の手間が省けるので便利です。 

開発コストが安い 

ネイティブアプリなら、AndroidとiOSをそれぞれ別々に各仕様に合わせて開発する必要があり、単純に2倍のコストと手間がかかります。まったくコードが違うため対応できる人材も相応の数だけ手配する必要があるでしょう。ところが、ハイブリッド開発は限られたコードで開発できるため、開発コストが安く済みます。よって、コストを抑えてアプリ開発をしたいスタートアップには、とくにおすすめです。 

アプリストアからインストールできる 

ハイブリッドアプリは、ネイティブアプリ同様、アプリストアからインストールできます。よって、スマホ画面にアイコン表示され、ユーザーの目につきやすいため、使用頻度が高まる可能性が格段にアップします。この点はWebアプリと比べると大きなメリットでしょう。 

メンテナンスが容易 

ハイブリッドの場合は、限られた言語で開発しているため、アプリリリース後に修正案件が生じても、一度の修正でこと足ります。しかし、ネイティブアプリの場合はそうはいきません。iOSとAndroidで、それぞれ個別に修正作業を行うので、コストも手間も倍になります。アプリはただ開発をすれば良いのではなく、リリース後の運用やメンテナンスにおいての負担を軽くするのも重要課題です。よって、市場のフィードバックを受けながら比較的柔軟に修正がきく点は、スタートアップの開発にもおすすめです。 

ハイブリッド開発のデメリット

続いて、ハイブリッド開発のデメリットです。 

ネイティブ機能を使いきるのは無理 

先述のようにハイブリッド開発では、ネイティブ機能が使えますが、その範囲は限定的です(マイクやカメラ、GPS機能などは苦手)。というのも、ハイブリッド開発の場合、フレームワークはサードパーティが提供するうえ、プラグインはフリーランスエンジニアが開発するので、独自の開発にピッタリとはまる機能をそのまま望むのは極めて難しいのが現実です。どうしてもの場合は、自分たちでプラグインを作る必要があるので、開発のハードルは上がるでしょう。 

動作が重たい 

ハイブリッドアプリは、通信が必要なWeb View上動作するため、ネイティブアプリに比べると挙動が遅くなるのが一般的です。Webアプリに比べると速いものの、ゲームをはじめアニメーションを使った細やかで機敏な動きが求められるもの、さらに写真加工アプリには不向きです。それよりもECサイトや投稿系などの集客目的のアプリ、ニュースアプリ、健康管理系アプリなど更新頻度の高いアプリには非常に向いています。 

審査に時間がかかる 

ハイブリッド開発したアプリは、ネイティブに比べるとアプリ審査に時間がかかる傾向が強いです。よって、開発計画や要件定義の段階で、開発期間延長のリスクについて先読みし、開発業者との間でよく話し合っておく必要があるでしょう。 

ハイブリットアプリの事例と有名なアプリ 

ハイブリット開発はECサイト系やニュースアプリ、健康管理系などが得意分野になります。しかも、もともとパソコン用にWebサイトを公開していて、スマホ仕様にトランスフォームしたい場合にはうってつけです。 

有名な例で言うと、国内で圧倒的なシェアを誇る料理レシピ投稿サイト「クックパッド」があります。登録すれば誰でもオリジナルレシピが投稿でき、レシピをシェアしたり、コメントをつけたりして、ユーザーどうしが食事作りの喜びや悩みを共有できる世界観が大人気です。最高月間ユーザーは6200万人。国民のおよそ半数が利用している計算になります。 

もとはWebサイトからのスタートで、途中からハイブリット開発によりスマホ対応を始めました。どんなデバイスからでも手軽に使えて、更新頻度が高くてレシピは好きなだけ保存可能、気になる料理やジャンルを簡単に検索できるなど、ハイブリット開発の強みをいかんなく活用している格好の事例です。 

クロスプラットフォーム開発とは 

ソーシャルメディア, 社交, 画面, アイコン, スマート フォン, メディア

クロスプラットフォーム開発は、デバイスやOSが違う環境下でも完全に同じ仕様で使えるアプリを開発することを意味します。つまり、MacでもWindowsでも、iOSでもAndroidでも関係なく同じレイアウトと操作性で運用できるのが特徴です。よって途中でデバイスの機種を変更してもまったく違和感なく使えます。 

とりわけ最近は、スマホユーザーを無視したアプリ開発は命とりになるといっても過言ではないため、クロスプラットフォームはiOSとAndroidの両方に使えるアプリ開発手段として大変メジャーになっています。 

例えば、クロスプラットフォームのフレームワークとしてGoogleがオープンソースで提供するFlutterがあります。Flutterを開発に利用しているエンジニアは200万人、Androidアプリだけでもすでに約5万本がリリースされています 

(参照:https://japan.zdnet.com/article/35152890/)。この数を見てもクロスプラットフォーム開発がいかに注目されているかがわかるでしょう。 

従来は、iOSかAndroidかなど動作環境を想定したうえでソフト開発するのが常識でした。しかし、この方法では他のプラットフォームではまったく使えなくなるので、ユーザーへの訴求範囲は限定されてしまいます。とくに日本は世界でも珍しいくらいにiPhoneユーザーが多く、その割合は約6割といわれます(参照:https://webrage.jp/techblog/sp_share/)。しかし、iOSでしか使えないアプリだと、残り4割のAndroidユーザーを完全に除外することになります。これはマーケッティング上、大変な損失です。もちろん、Androidでしか動作しないケースが不利になるのは言うまでもありません。 

よって、多くのスマホユーザーを取り込むうえで、クロスプラットフォーム開発を積極的に進めて、iOSにもAndroidにも対応できるようにする意義は非常に大きいのです。また、ハイブリット開発に良くあるパターンとは異なり、もともと運営しているWebサイトはもたず、一から高い精度と対応力のあるアプリ開発を行いたい場合に、クロスプラットフォーム開発は特におすすめです。 

くわえて、後述するように、例えばクロスプラットフォームならではのフレームワークであるUnityを使えば、ハイブリッド開発では難しいゲーム系アプリの開発ですさまじい威力を発揮します。したがって、適材適所をわきまえてクロスプラットフォーム開発を行えば、たとえスタートアップでも大手に負けない注目度の高い画期的なアプリ開発の可能性が広がるでしょう。 

クロスプラットフォーム開発のメリット

それではここから、クロスプラットフォーム開発のメリットについてさらに掘り下げましょう。 

開発工数が抑えられる 

クロスプラットフォーム開発は、基本的に1つのコードでiOSとAndroidに対応したアプリを作成できるため、それぞれを個別で開発する場合に比べて開発工数が40~70%カットできます。コストを大幅に削減できれば、別の用途に資金投入できるので、とくにスタートアップにはメリットが大きいでしょう。 

仕様変更やバグに対応しやすい 

クロスプラットフォームは、使用するフレームワークによって言語が決まっているため、仕様変更やリリース後のデバッグ対応がしやすいのも大きな特徴です。とくにスマホ用にアプリをリリースすると、ユーザー数が格段に増加することがあります。しかし、それは同時にバグが数多く発覚する原因にもなりえます。(もちろん修正をしてアップグレードすることは悪いことではありません) 

優れたアプリの条件の一つは、これら不具合への対応力です。いつまでたってもバグが修正されず使い勝手が悪ければ、多くのスマホユーザーは気長には待ってくれず、あっさりと立ち去ってしまう恐れがあります。よって、クロスプラットフォームで迅速な仕様変更やデバッグ対応を図ることは、マーケッティング上とても意味のあることと言えるでしょう。 

ユーザーの幅を広げられる 

最近は、買い物やサービスの利用、習い事など日常生活で何らかの動きをつける際に、アプリを利用する人が年を追うごとに増えています。しかもその大半は、アプリストアからアプリをインストールして使います。よってiOSにもAndroidにも対応できるクロスプラットフォーム開発を行うと、幅広い層のユーザーを取り込めるでしょう。 

また、国内では、iOSのユーザーが約6割、Androidが約4割です。もし、ネイティブアプリで、どちらか一方にしか対応しなければ、4~6割のユーザーをみすみす取り逃がすことになります。この損失はあまりに大きいと言わざるを得ません。 

クロスプラットフォーム開発のデメリット

クロスプラットフォーム開発には、メリットがいくつもありますが、必ずしも良い点ばかりではありません。デメリットもあるので、チェックしておきましょう。 

OSごとの不具合への対応が難しい 

クロスプラットフォームは、基本的にiOSにもAndroidにも対応できますが、例えばAndroidだけにある不具合が生じてしまう、というケースがないわけではありません。この場合は、一括ではなくOSごとに個別対応しなければなりません。 

つまり、クロスプラットフォームで使用した言語ではなく、そのOSに対応するSwiftやKotlinといった言語の使用が迫られます。よって、もしその知識がなければ、精通した人材を新たに手配するなどの手間やコストがかかるので注意が必要です。 

国内での歴史が浅い 

クロスプラットフォーム開発は、まだ国内での歴史が浅いため、技術情報が少ないなどの制約があり、プロダクトを100%製品化できるエンジニアの絶対数が少ないのが現実です。くわえて、ネイティブ言語のように日本語のドキュメントが豊富ではなく、英語のドキュメントが理解できないと開発は進みにくい点も見過ごせません。よって、もしクロスプラットフォーム開発を実際に行う際には、開発業者の選定にあたって国内企業のみならず、語学力にたけ、クロスプラットフォームのフレームワークを使いこなせるエンジニアが多いオフショア開発も視野に入れると良いでしょう。 

<参考> 

ベトナムでのオフショア開発のメリットとは?人気の背景と注意点も紹介

クロスプラットフォームの事例と有名なアプリ

クロスプラットフォーム開発には、Xamarin、React Native、Flutter、Unityなどさまざまなフレームワークが使用されます。いずれもすでに数々の実績をあげており、Instagram、Facebook、Skype、新型コロナウィルス接触確認アプリ、とそうそうたる開発事例があります。 

中でも特筆すべきは、ゲーム系で圧倒的な強さを見せるUnityです。スーパーマリオラン、ドラクエⅧ、ポケモン Go、白猫プロジェクトなど飛ぶ鳥を落とす勢いで人気ゲームを次々と世に輩出しています。2Dゲームはもちろん、他のフレームワークでは難しいグラフィック重視の3Dゲーム作成ができ、オンライン、モバイル、VRゲームと、間違いなく注目度世界ナンバー1を誇る人気ゲームエンジンです。iOSとAndroidはもちろん、Windows、Mac OS、Linux、さらにNintendo Switch、PS4などさまざまなプラットフォームに対応可能。まさにクロスプラットフォーム開発を代表する典型事例と言えるでしょう。 

ハイブリッド開発とクロスプラットフォーム開発の違いを整理

最後に今一度、ハイブリッド開発とクロスプラットフォーム開発の違いを整理しましょう。 

ハイブリッド開発は、Webアプリ向けのHTMLやCSS、JavaScriptを使って作成するWeb View上で起動するアプリ開発で、アプリ内にWebページを表示できます。しかし、使うたびにオンライン接続が必要で動作が重い特徴があります。デバイスによってレイアウトや操作性が変わることがありますが、その影響を受けないECサイト系やニュースアプリ、投稿型サイトなどにうってつけです。 

一方、クロスプラットフォーム開発は、Xamarin、React Native、Flutter、Unityなどのフレームワークを使った、iOSとAndroid、Windows、MacOSなど異なるプラットフォームで使えるアプリ開発です。どのプラットフォームでも完全に同じレイアウトと操作性のため、デバイスが変わっても違和感なく使えるうえ、ネイティブアプリ並みの高い操作性、滑らかな動きが特徴です。オフラインで使えるゲームやヘルスケアアプリなどに向いています。 

まとめ 

ハイブリッド開発とクロスプラットフォーム開発について、それぞれの意味とメリット・デメリットをご紹介しました。すでにWebサイトを運営済みで、これからスマホ対応を強化したいならハイブリット開発、一からiOSとAndroidに対応できるアプリを開発したいならクロスプラットフォーム開発がおすすめです。 

デジタル化が超急速に進むなか、とくに世間のスマホ依存度は増すばかりです。しかもその流れで、スマホユーザーのアプリに向けられる目は厳しくなる一方といって良いでしょう。よって、少しでも便利で、お得で、使用感が良いアプリへのニーズに応えることが、マーケットで存在感をアピールし、さらにはライバルに差をつけて新規顧客の獲得にもつながるのがお分かりいただけるはずです。 

レリパでは、ハイブリッド開発やクロスプラットフォーム開発を通じて、多くの日本のお客様の役に立って参りました。経験豊かで日本語に精通した優秀なエンジニアがどんなご要望にもお応えします。コストを抑えながら質の高いアプリ開発でさらに飛躍したい、とお考えならいつでも気軽にお問い合わせください。心よりお待ちしております。