![見出し画像](https://assets.st-note.com/production/uploads/images/142713813/rectangle_large_type_2_c44e55be4052cf2359800a48919fe297.png?width=1200)
個人開発ならWebサービスにすべき?アプリにすべき?
個人開発を行う際にまず悩むことは「ブラウザ上で動作するWebサービスを開発するか、ネイティブアプリを開発するか」という点ですよね。
総務省の令和4年版 情報通信白書によると
2021年のインターネット利用率(個人)は82.9%となっており(図表3-8-1-2)、端末別のインターネット利用率(個人)は、「スマートフォン」(68.5%)が「パソコン」(48.1%)を20.4ポイント上回っている。
ということらしいです。
つまり、インターネットはパソコンからのアクセスよりもスマートフォンから利用されることの方が圧倒的に多いわけです。
実際、僕の周りでもパソコンは持っておらずスマートフォンだけでネット関係は済ませているという人がとても多いです。
こういった時代背景からレスポンシブ対応の重要さも増しているわけですがそれは話が変わりますので割愛します。
スマホの使用率が高いのであれば、スマホでの使用に最適化されたネイティブアプリのほうで開発するべきであると結論がでますが、そんな単純な話ではありません。
ということで、今回はWebサービス開発とネイティブアプリ開発、それぞれのメリットとデメリットについて比較しながら検討していきます!
Webサービス(Webアプリ)開発
まずはWebサービス開発についてです。
Webサービスとはブラウザ上で動作するサービスのことです。
例えば、YoutubeでもSafariやGoogle Chromeで検索してそのなかで機能を利用することができますよね。あれはブラウザ上で動作しています。
このWebサービス開発のメリットはなんといっても容易なことです。
一度開発してしまえば、ユーザーのデバイスがPCであろうとiphoneだろうと、androidだろうと動作します。
画面幅に応じてのレスポンシブ対応さえ気にしていれば問題ありません。
これはとても大きな点です。
また、開発以外にもリリース時の容易さもあります。
Webサービスでの開発では、ドメインとサーバーだけ契約すればサービスをリリースできます。
アダルト系であれば、サーバーでの審査が入りますが、それもアダルト対応のサーバーなんて大量にありますからそちらを利用すればいいだけです。
では、Webサービス開発をすればよいのでしょうか。
続いて、ネイティブアプリ開発を見てみましょう
ネイティブアプリ開発
ネイティブアプリ開発の最大のメリットはデバイスへの最適化です。
ネイティブアプリとはデバイスにインストールされるアプリのことです。例えばYoutubeもiphoneだとアプリの場合はappstoreからインストールしますよね。
ホーム画面から起動して利用するのがネイティブアプリだと理解していただいて問題はないです。
ブラウザ上で動くyoutubeとアプリで動くyoutubeだとどちらも同じですが使いやすさは圧倒的にアプリでのYoutubeでしょう。これはそのスマートフォンでの使用に最適化されているからです。
また、そのデバイス固有の機能(カメラやGPS)をアプリから利用することができます。
Xやインスタのアプリからカメラを起動することができますよね。
また、メリットとして意識することは少ないですが、一度インストールしてしまえばオフラインでも利用することができます。
コスト面
ここでのコストとは時間と費用で考えます。
どちらにおいてもWebサービス(Webアプリ)開発のほうが優れています。
前述したとおり、Webサービス(Webアプリ)開発では一つ開発すればすべてのデバイス上で動作します。
しかし、ネイティブアプリとなるとデバイスごとにアプリを開発する必要があります。
例えば、個人開発だとiOS版はリリースしましたがandroid版はまだリリースしていませんというケースが多くみられます。
このように時間においても費用においてもネイティブアプリだと非常に多くコストがかかるということになります。
また、アプリのばあい、ユーザーへと配布するプラットフォームはそれぞれのアプリストアのみになります。
アプリストアにて配信するには当然アプリストアでの審査があります。この審査は決して緩いものではなく様々な条件をクリアしなければなりません。それらは個人開発では大きな足かせになります。せっかく開発は終えたのにも関わらず、リリースできませんでしたという怖い話もあります。
アップデート問題
ここまで述べたコストや開発の容易さという点は個人開発するような方でしたら気づきやすい点です。
地味に気づきにくい問題としてアップデート問題があります。
個人開発を実際してみると気づくと思いますが、サービスのアップデートはとても頻繁に行われます。
それはバグの修正であったりUIの改善であったりします。もちろんユーザーからの要望の反映もあります。
逆にアップデートが少ないサービスはユーザーのことを考えていないとも言えます。
それほど重要なアップデートですが、みなさんはどれほどのペースでアプリの最新バージョンをアップデートしますか?
たまにアプリを起動すると「最新バージョンがあります。アップデートしてください」という表示が出ると思います。その指示にしたがい最新バージョンにアップデートする人がどれほどいるでしょうか。
みなさんがアップデートしないからこそ、アップデートしないとアプリの利用自体ができないようなサービスが存在するのです。
つまり、アプリはデバイスにインストールされデバイス上で動くものなのでユーザーがアプリをアップデートしないことにはそのインストールされたアプリはアップデートされません。
対してWebサービスはブラウザ上で動くので、そのブラウザのサーバーさえ開発者のほうでアップデートしてしまえばユーザーは必然的に最新バージョンを使用することになります。
結論
ユーザーファーストであればネイティブアプリ一択だと思います。
ネイティブアプリの使いやすさ、パフォーマンススピードには絶対にWebサービスは勝てません。
しかし、個人開発にて最初からネイティブアプリを作成するのはコストがかかるので、リスクも大きくなります。
ですので、最初はWebサービスを開発し、サービスのユーザー数が増えてきて、「このサービスで勝負しよう!」と決めてからネイティブアプリに移行するのがいいと思います。
その際のデータベースの移動もあらかじめ考えてからWebサービスの開発を始めるべきでしょう。
こちらは僕がココナラでBubbleエンジニアとして25万販売したはなしです!
この記事が気に入ったらサポートをしてみませんか?