こんにちは。
要件定義をお客様とまとめている時に、「デスクトップアプリで作成してほしい」と言われることがあります。
または、「Webアプリでお願いしたい」と言われることもあります。
理由を聞くと、大体が流行っているからというのが理由です。
でも、ちょっと考えてみてください。
流行りというのは、その時々で変わっていくものです。
これから作ろうとしているサービスが、デスクトップアプリがいいのか、Webアプリがいいのか十分に検討する必要があるはずです。
お客様にとっては、PCにアイコンができるか、ブラウザで表示されるかの違いですが、大きな違いがあるのです。
では、どのような違いがあるのでしょうか?
私は、プログラマとして20年働いてきまいした。
これまでに何度もこのような問題に遭遇し、何度も失敗してきました。
その経験をもとに、デスクトップアプリとWebアプリの違いについて説明していきます。
デスクトップアプリ(デスクトップアプリケーション)
デスクトップアプリは、デバイス(PCや携帯など)にインストールして使用するアプリケーションです。
なので、OS(オペレーションシステム)に依存しており、OSが提供するサービスをアプリで使用することができます。
なので、1台のデバイスで作業が完結するようなシステムに適しています。
もちろん、ネットワーク上のデータを取得したりすることも可能です。
デスクトップアプリのメリット
デスクトップアプリのメリットは以下になります。
- OSの機能を使用できる
- ファイルシステムにアクセスできる
- 画面上のアイコンから起動できる
OS上で動作するため、OSが提供するサービスを使用し、ファイルへのアクセスも可能です。
例えば、データの一時保存もテキストに自動で吐き出すことができます。
また、その逆で、テキストデータを自動で読み込むことも可能です。
その他にも、インストールされているアプリが提供する外部サービスを使用することも可能です。
デスクトップアプリのデメリット
デスクトップアプリのデメリットは以下になります。
- OSに依存する
- OSのアップデートで動かなくなることがある
- デバイスがウィルスに感染すると影響を受けやすい
大きいデメリットとしては、OSに依存するというところです。
例えば、Windowsのデスクトップアプリは、基本的にOS Xでは動作しません。
また、OSに依存しているために、OSアップデートで動かなくなることもあります。
最近では、ウィルス(ランサムウェアなど)の感染で使用できなくなるケースも発生しています。
Webアプリケーション(Webアプリ)
Webアプリは、ブラウザで動作するアプリです。
なので、デバイスにインストールの必要がなく、ブラウザがあればどこでも操作することができます。
Webアプリのメリット
Webアプリのメリットは以下になります。
- OSに依存しない
- デバイスに依存しない
- インストールが不要
ブラウザ上で動作するため、OSに依存することがありません。
上にも書きましたが、ブラウザがインストールされていれば、どこででも操作することが可能です。
Webアプリのデメリット
Webアプリのデメリットは以下になります。
- ネット環境が必要
- サーバーを構築する必要がある
- ファイルシステムへ直接アクセスできない
ブラウザ上で動作するため、ネット環境がないところでは使用できません。
また、サービスを提供するために、サーバーを構築する必要があります。
なので、サーバーの知識がないと、自由に変更することもできないのです。
そして、ブラウザ上で動作するため、OSのファイルシステムに自由にアクセスできません。
ファイルの保存や読み込みは、基本、ユーザーの確認が必要となります。
その他にも、OS上にインストールされているアプリにも直接アクセスできません。
何を基準に選択するか?
デスクトップアプリとWebアプリのメリットのみを比較すると、Webアプリの方が汎用性があり良いように思えるでしょう。
でも、デメリットを見ると、大きく違いが出てきます。
まず、大きな違いは費用です。
Webアプリの場合、サーバーの構築が必要となるので、その分の費用が増えますし、サーバーの維持のためのランニングコストも発生します。
また、ファイルシステムにアクセスできるかも大きな違いですね。
この辺りの違いを考慮して、作成するサービスをどちらで作成するのが最適かを判断すると良いでしょう。
安易に、流行りにのって判断するのはやめましょう。
まとめ
今回は、デスクトップアプリとWebアプリの違いについて書いてきました。
デスクトップアプリとWebアプリのメリットのみを見ると、Webアプリの方が汎用性に優れているように思われます。
そのために、最近では、Webアプリでの開発を依頼されるお客様が増えているのだと思います。
しかし、デメリットを比較してみると、デスクトップアプリとWebアプリでは、できることが異なっています。
また、開発や維持にかかる費用についても違いが出てきます。
デスクトップアプリもWebアプリも、メリット、デメリットがあります。
きちんと比較した上で、作成するアプリがどちらに適しているのかを判断してください。
では、今日はこの辺で。
コメント