スマホアプリを作りたい時に考える開発手法の選択
こんにちは。しょへです。
「スマホで利用できるアプリを独自開発したい」という相談を受けたため、開発手法についてのまとめを投稿します。
今回はどちらかというと、自分用のメモに近いです。ご容赦ください。。。
開発手法
考えられる開発手法は以下が挙げられます。
ほかにもあるかもしれません。
WEBアプリ開発
ネイティブアプリ開発
既存サービスに乗せる
開発手法ごとの違い
ここからはそれぞれの開発手法についてとそのメリットデメリットです。
WEBアプリ開発
HTML,CSS,JavaScriptを用いて開発します。
利用者はWebブラウザがあれば利用可能です。
○メリット
ブラウザがあれば利用可能なのでインストール不要。→利用のしきいが低い。
アプリのアップデートも開発者側で行える→常に最新のものを利用してもらえる。
ブラウザがあればスマホ以外(PC、タブレット、ブラウザ機能付きのテレビなど)からでも、あらゆるデバイスから利用可能です。
△デメリット
オフライン利用不可(インターネット接続が必須)。
デバイスの機能利用には制限がある→通知を飛ばしたり、デバイスの設定を切り替えるようなアプリ開発には向いていない。
ネイティブアプリ開発
iPhoneアプリであればAppStore
AndroidアプリであればGooglePlayStore
で公開できるアプリケーションのことです。
利用者はアプリのインストールが必要です。
○メリット
オフライン(インターネットにつながっていない状態)でも利用可能。
デバイスの機能利用が最大限できる→GPSやセンサーを用いたアプリを作ることができます。水平器アプリなどはネイティブアプリならではですね。
△デメリット
OSごとに開発、公開申請などが必要→はじめての場合はリリースまでに結構やることがあります。
アップデートは利用者側で操作が必要。
既存のサービスに乗せる
LINE公式アカウントなど、すでに公開されているサービスを活用するイメージです。
「お絵描きばりぐっどくん | LINE 公式アカウント」などが有名ですね。
文字や画像のやり取りであればLINE公式アカウント
アンケートをとるのであればGoogleフォーム
など
やりたいことにマッチするサービスがあれば比較的低コストで実現することができます。
○メリット
低コストで仕組みが実現できる。
安定した動作→すでに洗練されたサービスを利用するためバグが出にくいです。
サービスが持つ強力な機能を活用できる。
利用率の高いサービスであれば利用のしきいが低い。→逆に利用率の低いサービスの場合、しきいが高くなってしまうのでデメリットにもなり得ます。
△デメリット
あるものしか利用できない→やりたいことにマッチしたサービスがなければ実現ができない。
カスタマイズの幅が限られる→サービスに依存するため、提供されている範囲でしかカスタマイズができない。
まとめ
このように、開発手法ごとにメリットデメリットがあり、
「どんなアプリを作りたいか?」に合わせて手法を選ぶことが大切です。
これからアプリを作りたい人の参考になれば幸いです。