JMAS(JMA SYSTEMS Corporation) JMAS(JMA SYSTEMS Corporation)
2014年02月10日

事例から考察!スマートデバイスを活用した業務システム構築ノウハウ

第3回 Webアプリ開発のポイントとその他の開発手法

みなさん、こんにちは。
ジェーエムエーシステムズ(以下、JMAS)の中居 郁です。

前回は、アプリ開発の4つの手法の1つである”ネイティブアプリ”について解説しました。今回は、Webアプリ、ハイブリットアプリ、フレームワーク利用開発について解説します。

社内のWebシステムをスマートデバイスに対応させるならWebアプリ

操作性を重視したネイティブアプリに対して、保守性を重視したものがWebアプリになります。

Webアプリはスマートデバイスにインストールされているブラウザを利用するサーバサイドのアプリです。ネイティブアプリとは異なり、デバイス側にアプリをインストールするものではありません。OS依存がないため、拡張性や汎用性が高いアプリを構築できます。

ただし、Webアプリはサーバサイドのアプリであるため、インターネット接続が前提になります。オフラインでの利用に制限がかかる場合があり、室内や地下などで利用する場合には、注意が必要になります。

 

Webアプリは、以下のようなケースを実現したいときに用いる手法

です。

  1. 社内向けのWebシステムをスマートデバイスに対応したい
  2. スマートデバイスでもPCと同じサービスを利用したい
    PCとスマートデバイス環境における2重開発を避けたい
  3. オフラインでの利用を考慮しなくてもよい
    デバイスにデータを保存したくない
  4. デバイスにアプリをインストールしたくない
    機能の更改が多い
    アプリ配信・バージョン管理の運用負荷を減らしたい
    各種アプリ Storeからアプリを配布したくない

なお、対応するOSや、デバイスが多い場合には、この手法が最もコストを抑えられる傾向にあります。

外部のWebサービスと連携するならハイブリットアプリ

ハイブリットアプリとは、ネイティブアプリとWebアプリを組み合わせたものです。すべてをネイティブアプリで開発するのではなく、機能の一部をWebアプリで開発する手法です。

ハイブリットアプリは、ネイティブアプリと遜色のない操作性やレスポンスを維持しつつ、外部サービスやライブラリを利用して、開発負荷を下げたいケースに検討される開発手法です。ネイティブアプリとWebアプリの切り分けが開発時におけるポイントになります。

■Webアプリで実現するケースとは

1)外部のWebサービスと連携
 ・ 既に高機能なサービスが提供されている。(地図など)
 ・ 独自に実装するにはコストの負担が大きい機能などを利用する。
 ・ 外部のWebサービスを利用して低コストで実現したい。 
2)HTML5の表現力を利用
 ・ グラフや図形描画などのライブラリが豊富である。
 ・ ネイティブアプリに比べて実装負荷が低い。

マルチデバイス対応の優先順位が高い場合にはフレームワーク利用開発

フレームワーク利用開発とは、マルチデバイス開発フレームワークPhoneGap (Cordova)、Titaniumなどを利用した開発手法になります。
 
HTML5やJavaScriptなどの共通言語でiOS、Android、Windowsなどのマルチデバイス用のネイティブアプリが開発できます。フレームワーク利用開発は、マルチデバイス対応の優先順位が高い場合に検討される手法になります。

各開発手法のメリットと、制約事項

最後に、各開発手法の特徴を以下の図にまとめました。

以下の図を参考に、利用するスマートデバイスの種類、用途、社内リソース、運用体制などから適切な開発手法を選択してください。スマートデバイスの活用を成功させるためには、最適な開発手法を選択してアプリ開発を進めることが重要です。

各開発手法のメリットと、制約事項

Webアプリの補足

Webアプリとネイティブアプリを比較した場合、現状では、ネイティブアプリの方が操作性、表現力ともに勝っています。しかしながら、HTML5/CSS3により、Webアプリでもかなりネイティブアプリに近い操作性や、表現力が可能になりました。また、オフラインでもある程度動作させることも可能です。

今後、HTML5の規格やハードウェアの性能が向上するにつれて、Webアプリはよりネイティブアプリに近づいてくると思われます。

JMASは、お客様の状況に応じて、最適な開発手法を選択できます。スマートデバイスの活用についてお悩みがございましたら、ぜひご相談ください。

セミナーを開催します!