clock2015.04.29 09:01
SERVICE
home

クロスプラットフォームのすみわけ|スマホアプリ開発を考える(第4回)

AUTHOR :   ギックス

クロスプラットフォームはどこまで開発できるか?機能を抑え失敗しない開発を行う

前回は、クロスプラットフォームのデメリットについて記載しましたが、今回は、費用面と機能面から開発案件ごとの最適な開発方法を記載しようと思います。

開発案件の機能ごとの開発環境

Webアプリ開発、ブラウザパーツを使ったクロスプラットフォームアプリ開発、PhoneGapやCordovaなどを使ったフレームワークアプリ開発、ネイティブ(iOSはXcode、AndroidはJava)のみのアプリ開発を費用面と機能面から配置したものが下表です。sumaho_sumiwake

スマホ上で動けば実現方法は選ばないスマホアプリ

既存のPCブラウザ版のWebアプリをスマホの小さい画面で操作できるよう画面レイアウトを変更する開発になります。アプリの起動には、スマホのブラウザを介して行う必要があるため、スマホアプリとしての価値は低いです。スマホ上のアイコンからアプリを起動したい場合、最低でもPhoneGapかCordovaで開発する必要があります。

スマホ機能を使用したスマホアプリ

前回まで説明してきたクロスプラットフォームでの開発が良いと考えます。ネイティブ開発とブラウザパーツ側の開発で画面を分けることも可能です。例えば、基本画面をブラウザパーツ(HTMLなど)で表示し、画像編集や画像複数選択などのブラウザパーツ側のJavaScriptで実現できない複雑な機能についてネイティブ側で対応すれば、広範囲の機能をカバーできます。

費用を抑えたスマホ機能を使用したスマホアプリ

PhoneGapやCordovaなどのフレームワークを使用したクロスプラットフォームでの開発しかありません。フレームワークを使った場合、ネイティブ側も開発した場合とで実現機能の差は、上記のような複雑な画面の実現や機種依存の独自スマホ機能の処理以外にほとんどありません。そのため、開発要件次第では、PhoneGap/Cordovaなどのフレームワークで十分実現可能です。

問題としては、開発依頼者であるお客様にPhoneGap/Cordovaが複雑な画面が実現できないことと、フレームワーク仕様としての不確定要素があることを理解して頂く必要があります。理解していない状態で開発着手した場合、フレームワークを無視した追加案件やフレームワークのバグの対応で、想定以上の保守工数が必要になる場合があります。

完全ネイティブになるスマホアプリ

簡単なスマホアプリ

スマホの機能をあまり使わず、アプリ自体の機能が多くなければ、ネイティブだけで開発した方が、開発費用が抑えられる場合もあります。また、iOS、Androidのどちらかのみ対応するアプリの場合も開発者が確保できれば、開発費用が抑えられます。

ゲームのようなクイックな動作が必要なスマホアプリ

ゲームの場合、利用者の操作が、即時反映されないとアプリとして成り立ちません。通常の開発では開発費用が掛かります。そのため、自社でブラウザパーツを使わないフレームワークを開発し、開発費用を抑えている企業も多数あります。最初は、自社フレームワークの開発費は掛かりますが、同様のインターフェースを持つスマホアプリを開発する場合、フレームワークを流用できるため、次回以降は開発費用が抑えられます。

失敗しないスマホアプリ開発を行うために

今まで、開発環境に焦点を当ててきましたが、最後に失敗しないスマホアプリとは、どのような物かについて記載します。

画面はシンプルに

当然の事ですが、スマホアプリには説明書ありません。そして、パソコンより幅広い世代、職種の利用者がいます。そのため、一目で分かるアプリ画面である必要があります。主要ボタンが小さかったり、画面レイアウトが特殊なものは、万人受けしません。また、画面のフェードインやスライド切替など視覚効果を盛り込んだアプリは、見た目の印象は良いですが、古いスマホでは、視覚効果の動作が遅くなったり、メモリ不足で動作しない場合もあります。必要以上の視覚効果は避けましょう。

機能は絞る

当然、最初の開発からWebやパソコンアプリの全機能をスマホアプリで実現するのは、無理があります。そのため、多くの企業は、スマホアプリは、主要機能のみにし、使用頻度の少ないものは、リンクによってWebアプリに誘導する作りになっています。利用者は、多少不便ですが、スマホアプリからログインなしでWebアプリが起動すれば、目的は達せられます。

小さなアプリから育てる

スマホアプリの特徴として、1度インストールしたスマホアプリは、Apple StoreやGoogle Playから常に最新の状態に更新できる事です。最初は、機能が少なく、目新しいものが少なくとも、徐々にバージョンアップを重ね、少しずつ確実にアプリを成長させていけばよいのです。一番大切なことは、利用者の信頼を失わない事です。操作性の悪さや小さなバグでも、Apple StoreやGoogle Playに悪評が記載されます。スマホアプリは、ヒットするのも早いですが、悪評が広がるのは、それ以上に速いため注意が必要です。

【以下連載記事】
1. スマホを取り巻く環境を見てみよう
2. 既存のスキルを使い健全な開発を目指す
3. クロスプラットフォームアプリ開発の落とし穴
4. クロスプラットフォームのすみわけ

SERVICE