スマホアプリ開発は、以前よりもずっとやりやすくなりました。
その理由はアプリ開発が一般的になったことに加えて、アプリ開発のための便利な技術が生み出されたことにあります。
それでもスマホアプリの開発はウェブシステムの開発より高くなることがほとんどでしょう。
今回はその理由について、会話形式でご紹介していきます。
藤沢真人、IT業界20年のベテランエンジニアで40歳。
請負開発の会社でプログラマー、システムエンジニア、プロジェクトマネージャーとしての経験を積む。
その後、中小企業のIT支援をするために小さな会社を設立。
現在はITを活用したい会社のためのアドバイザーとして、複数の会社のコンサルティング業務を行なっている。
モットーは「すべての会社にITを」。
小鳥遊みく(たかなし)は20人規模の食品会社に勤める27歳。
新卒で事務職の正社員として就職したが、その働きぶりが評価され総務担当に昇進。
現在は社内の何でも屋として奔走中。
彼女の会社のITアドバイザーとして真人が入り、IT関連で何かあるごとに真人に確認している。
最近の悩みは社内にシステムエンジニアがいないこと。
スマホアプリの開発はなぜ高いのか?
真人さん、ちょっと相談があるんだけど…。
みくさん、こんにちは。
今日はどうしたの?
会社でスマホアプリを作りたいのだけれど、見積もりがどうしても高くなるの。
どうにかして費用を抑える方法はないかしら?
なるほどね…。
まずはスマホアプリの費用が高くなる理由から考えてみようか。
iPhoneとAndroidの二つの開発が必要になるのがスマホアプリ
まずはどれぐらいの費用を提示されたのか、教えてもらえるかな?
iOSとAndroidの二つで最低200万円からという見積もりだったわ。
なるほど、妥当な金額のようにも見えるけれど。
でも同じ機能のウェブシステムなら100万円という見積もりだったわ。
この違いって何があるのかしら…。
それじゃあ、一つ質問を。
今現在で使われているスマホって何がわかるかい?
えっと、iPhoneとそれ以外のスマホかしら?
うん、そうだね。
iPhoneと、それ以外はほとんどがAndroidになるんだ。
もっとはっきり言うと、iPhoneとAndroidのアプリを作るのがスマホアプリの開発になるんだ。
うーん、わかるようなわからないような…。
iPhoneはApple社が開発していて、AndroidはGoogleが開発しているんだ。
少しややこしいのが、AndroidOSはGoogleが中心に開発をしているけれど、Androidを搭載したスマホ自体は各社が開発しているんだ。
例えば、ソニーのXperiaやサムスンのGalaxyとかね。
そうなのね。
スマホをアプリの開発を考えるときに、まずはiOSとAndroidの二つに対応させることを考える。
iOSとはAppleが開発しているiPhone向けのOSで、iPhoneと同じと思って大丈夫だよ。
ええ、わかったわ。
スマホアプリを作るということは、iOSとAndroidの両方のアプリを作るという意味になるんだ。
そうなると、二つのシステムを作るから単純に2倍の見積りになる。
そういうことだったのね…。
一度作ればスマホでもPCでも見れるウェブシステムとは違って、スマホアプリは二つのシステムを作らないといけないことは覚えておいてほしい。
先の会話にもあるように、スマホアプリの開発はiPhoneとAndroidの二つのアプリを作ることになります。
単純に考えると同じウェブシステムを作るのに比べて2倍の工数がかかるので、見積もりの費用も2倍近くになるのは想像できるかと思います。
スマホアプリは申請作業など、コーディング以外の作業が発生する
2倍の費用がかかるのはわかったけれど、ある会社ではウェブシステムよりも2倍以上の見積りになったの。
それはおそらく申請作業の工数が含まれているんだろうね。
申請作業?
iPhoneだとアプリのダウンロードはApp Store、GoogleだとGoogle Playというアプリを経由してインストールするんだけど、それは知ってるかな?
私のスマホはiPhoneだからApp Storeはわかるわ。
でもGoogleはGoogle Playというのね。
どちらも自社の専用プラットフォームを通してアプリをインストールできるようにしているんだ。
そうなのね…?
つまり、ウェブシステムと違って、スマホアプリはサーバーにアップすれば利用できるわけじゃないんだ。
ええっ?それじゃあどうやってストアに公開すればいいの?
うん、そこでApple、Google各社ともアプリの審査を行なっているんだ。
審査をクリアしたアプリが各プラットフォームのストアに表示されるようになる。
そうだったのね!
ただこの申請作業が結構大変なんだ。
特にAppleの審査は特別厳しくて、プライバシーポリシーの規定など、公開にあたってはさまざまな準備が必要になる。
アプリを開発する以外の作業はたくさんあるのね…。
そうなんだ。
しかも、審査の作業には最低でも数日はかかる。
小さな修正であっても審査は審査だから、ウェブシステムほど簡単にリリースすることはできないんだ。
そんな制約があるのね。
うん、申請作業があるからアプリ開発の工数はウェブシステムよりも大きくなるんだ。
わかったわ。
今回提示された額が高いとは限らないのね。
そうだね、それでも工数を下げる方法もなくはないんだ。
次は開発負荷を減らす、いくつかの方法をご紹介しよう。
Androidはまだマシですが、iOSアプリの開発はAppleの審査との戦いです。
審査結果が返ってくるまでは数日かかり、リジェクトを受ければ修正してまた申請するというのを繰り返します。
対応すれば終わる作業であれば良いのですが、リジェクトの理由がよくわからない時もあります。
そうなると、試行錯誤をしなければいけませんが、そんなことをやっているうちにリリースがどんどん後ろにずれこんでいくというのはよくある話です。
アプリの対象にするターゲットを絞る
まずは先にアプリを対象にするターゲットを絞る方法がある。
ターゲットを絞るというのは?
iOSだけ、もしくはAndroidだけといった片方のアプリだけを作るんだ。
でもそれじゃあ、もう片方のユーザーは利用できなくなるわ。
そう、だからターゲットを絞るんだ。
一番使ってほしいユーザーは誰なのかを決めて、iOSかAndroidのアプリか、どちらを先に作るか決めるんだよ。
そうなのね…。
両方を同時に作れたらベストだけれど。
確かにね。
でも開発費は抑えられるし、他にもメリットはあるんだよ。
どんなメリットがあるのかしら?
新規サービスの場合は市場調査ができるんだ。
例えば、ゲーム開発であれば、そのゲームがたくさん売れるかは出してみないとわからないことも多い。
そこで先にAndroidでリリースして、売れ行きがよければiOS向けにも作るという手段がとれるよね。
うまくいきそうなら、もう片方のアプリも作るのね!
そういうことだね。
アプリ開発だとiOS、Androidの両方を作りたくなりますが、費用を抑えたり、開発スピードを優先するために片方だけ作られることもよくあります。
他にもあえて最低限の機能に絞ったり、関係者だけに見せるために、アプリをストアに上げずに開発することもあります。
iOS、Androidの両方同時に開発できる技術を使う
実は1つのソースコードで複数のアプリを作る技術があるんだ。
例えば、FlutterというフレームワークはGoogleが主導で開発しているよ。
そんな便利な技術があるの?
うん、多少注意もあるけれど。
どんな注意点があるのかしら。
従来のネイティブアプリ開発とは違って、開発できないアプリもあるんだ。
iPhone特有の機能や、逆にAndroid特有の機能がある場合、マルチプラットフォームで対応できる技術では細かく制御できない可能性がある。
各端末やOS独自の機能は共通化しづらいのね。
そうだね、対応している場合もあれば、そうじゃないこともある。
それじゃあ、1つのコードで動く技術を使うときは、作りたい機能を実現できるか確認しないといけないのね。
そうなるね。
しっかりと動くかどうか、この確認を怠ると作り直しのコストが大きくなってしまう。
それはとても困るわ。
あとは1つのソースコードと言ったけど、各OSで完璧に動くとは限らない。
どういうことかしら?
例えば、音楽プレイヤーだったら、バックグラウンドで再生する処理がiPhoneとAndroidで違うんだ。
その部分は個別にコードを書き分ける必要があって、そういったことは少なからず発生するよ。
便利だけれど、完全ではないのね。
Flutterやゲーム開発フレームワークのUnityなどは、一つの開発で複数のOSや端末に対応させることができます。
これをマルチプラットフォーム対応と呼んだりします。
開発を依頼する側としては、OS独自に合わせて開発するコストを削減できたり、最初から複数のOSに対応するアプリを開発することで、機会損失を防ぐことができます。
スマホアプリの開発は開発以外の工数も含まれる
スマホアプリの開発がコーディング以外の作業でもいろいろとしないといけないのがわかったわ。
そうだね。
見積もりは開発以外の作業も含まれているから注意だね。
ファンブリューでは神奈川県藤沢市を拠点に、全国各地のシステム開発を請け負っております。
システム担当者の方で、
現在こんなお悩みはありませんか?
開発会社にお願いをしているけれど、なんだか反応が良くない…
気軽に相談できない
開発後もしっかりサポートしてほしい
ファンブリューでは血の通ったシステム開発を行っています。
お客様との将来的な関係を見据えて、お仕事をお受けしています。
信頼関係を大切にした開発にご興味がある方は、今すぐ下のボタンからお問い合わせください。
確認次第、折り返しメールでご連絡を差し上げます。