• Top
  • > Blog
  • > 企業向けソリューション:ハイブリッドアプリは本当に有効か?
2014/08/11 Enterprise BaaS製品“AppPot”, MBaaS

企業向けソリューション:ハイブリッドアプリは本当に有効か?

※前提:この文章でいう企業向けソリューションとは「企業のビジネス活動を行うために社員に配布して使用するソフトウェア」を指しています。

ちょっと前まではモバイルプラットフォームでもHTML5がすごい勢いを見せていました。iOS、Android、Windows Phone等、複数のプラットフォームに対応するにはHTML5が正解という認識が広がった時代です。また実装する側からすると既に慣れているWebの技術がそのまま使えるのでObjective-CやAndroid等、他の開発言語、環境の学習が不要になるのでメリットのある話でした。

しかし、今はHTML5のその勢いは弱まり、どちらかというとネイティブアプリとHTML5で作られたアプリが混在していると言えます。HTML5の勢いが弱くなったことにはいくつかの理由が挙げられます。HTML5の標準化が結果的に上手く進まなかったこと、またマルチプラットフォームだけでなくマルチ端末(複数の異なる画面サイズ)対応が実際にやってみたら想定より難しかったこともあります。Facebookが自社アプリをパフォーマンス向上を理由にHTML5からネイティブアプリに移行したことはかなり象徴的な事件でしたね。
では、企業マーケットではどうでしょうか?私は、企業におけるスマホ・タブレットのソリューションを作成する・コンサルティングする立場から、複数の案件に関わっています。結論からいうと、ネイティブアプリとHTML5の技術を採用したハイブリッドアプリが主です。その案件数の割合は7:3程度で、HTML5だけで作ったピュアなウェブアプリはほぼありません。これは私やNCDCが関わっている案件だけでの比率ですが、他の業界の情報を見ても大きな差はないかと思われます。
graph
ハイブリッドアプリとは、ネイティブアプリの中で一部の機能をHTML5で実装したアプリを指します。アプリの配布や端末の各種センサーを使う機能は汎用的なネイティブアプリとして実現しますが、画面の表示、業務ロジック等はHTML5やCSSで実装することで、同じコードが異なるOSでも使えるようにしたものです。実際に、多くのMEAPソリューションはハイブリッドアプリという方式でマルチプラットフォームに対応しています。
しかし、このハイブリッドアプリによるマルチプラットフォーム対応は日本の企業マーケットで本当に正しい対応でしょうか?
それを知るにはまず、日本の企業マーケットにおけるスマホやタブレットの導入状況を知る必要があります。一時期、BYODという用語が注目を集めた時期もありましたが、実際にBYODを全面的に実施している日本の企業はかなり少ないと思います。多くの日本企業は会社から特定の端末を社員に支給しています。一つの企業内で使われている端末は多くの場合、特定できるのです。つまり、社内で使っている端末の場合、マルチプラットフォームを意識することはあまりないと言えます。企業がマルチプラットフォームに対して意識する必要があるのは社員でない一般コンシューマー向けに公開するアプリを作成する時だけです。
セキュリティの観点からも考慮すべきことがあります。ウェブから無料で入手可能なツールを使って端末を覗くと、ハイブリッドアプリのHTML5やJavaScript、CSSファイルがそのまま読めます。つまり、アプリの画面の表示や処理ロジックがそのまま露出されます。これは大きなセキュリティの問題になります。
また、ハイブリッドアプリは言葉の通りハイブリッドですので、HTML5だけ知っていればできるものではありません。プラグインという名前で、各ネイティブアプリ側の実装も必要になることがほとんどです。そうなると開発する側からすると、対応すべき各プラットフォームのネイティブ技術とHTML5の技術までを全部カーバーする必要が出てきます。なお、異種の技術を繋ぎ合わせることは決して簡単ではありません。 そしてHTML5で複数の端末の画面サイズに対応することは決して容易とは言えません。HTML5で複数のプラットフォーム、画面サイズに対応しようと頑張っても完璧な対応にはならないし、下手するとそのコストが個々のネイティブアプリの制作費用を上回ることさえあり得ます。
そして、やはりパフォーマンスの問題は残ります。画面の表示、アニメーション、企業向けアプリに良く必要とされる暗号化と復号化等、パフォーマンスが重要になる部分はたくさんありますが、ハイブリッドアプリではネイティブアプリの半分以下のパフォーマンスがせいぜいです。
写真説明:ハイブリッドアプリ

写真説明:ハイブリッドアプリ(一見良さそうだが、色々悩みがあるかも?)

では、企業向けソリューションにおけるマルチプラットフォーム対応にはどのような方針が適切でしょうか?上述した理由から、自社のソリューションを作る場合はマルチデバイスやマルチプラットフォームのことはあまり意識する必要がありません。自社が配布した端末だけを意識すればいいです。

しかし企業向けソリューションを作成して多数の企業に販売する側としてはどうでしょうか?複数の企業を対象にする必要があるのでやはりマルチプラットフォーム、マルチデバイス対応は必要となります。ここでハイブリッドアプリを選択肢として考慮することができますが、そこにはユーザーインタラクションの複雑性、セキュリティ、パフォーマンス、実装する機能の複雑性、端末のセンサー類の使用等に対する考慮が必要となります。そして、マルチデバイス対応(複数の画面サイズへの対応)までも考慮すると、意外と、多くの場合、ネイティブアプリで実装した方がもっと有効だという判断になることが多いです。
この話が業界に一般に広がった考え方、そして他のソリューションが採用している考え方とは異なるかもしれません。しかし、私が今まで経験してきた日本の企業マーケットの特徴からすると、このような結論になります。上記の理由で、NCDCが提供するAppPotという企業向けソリューションはネイティブアプリを支援しています。もちろん、今後ハイブリッドアプリ支援計画は持っていますが、今のところ、AppPotが提供するアプリ開発用SDKはiOSとAndroidの、ネイティブアプリ用だけです。
もちろん、ハイブリッドアプリやウェブアプリの採用が有効な企業ソリューションも多数あります。ここで話したいのは一般に知られているほど、ハイブリッドアプリやウェブアプリが有効であるだけはなく、実はネイティブアプリがもっと適した場合が多いということです。自社の企業用ソリューションを開発する際には上記を参考に、実装方式をしっかり検討してください。
記事一覧へ