非Webベースのアプリケーションを構築することのデメリット
一般的に広く使用されているソフトウェアアプリケーションは、Web上で動作するように設計されたものとWebベースではないものの2種類に分類できます。 Webベースのアプリは、Webブラウザまたはユーザーインターフェイスとして機能するアプリケーションクライアントを介してアクセスするように設計されています。 Webベース以外のアプリケーションは、オフラインでの使用を目的としています。 この種のアプリケーションを構築することには、開発段階でプログラマが留意する必要があるいくつかの欠点があります。
Webベースアプリケーションの利点
アプリケーションとは、特定のタスクを実行できるようにコンピュータに命令を提供するソフトウェアのことです。 Webベースのアプリとオフラインでの使用を目的としたアプリの主な違いは、ユーザーがプログラムにアクセスする方法にあります。 Webベースのアプリケーションは通常、ネットワーク接続またはWebブラウザを介してアクセスされます。 これにより、プログラマーは、より広い地理的領域にわたって、はるかに多くのユーザーを見ることができます。 ユーザーがブラウザでアプリにアクセスできる限り、オペレーティングシステムやコンピュータにインストールされているハードウェアに関係なく、世界中で利用できます。
Webベース以外のアプリケーション
Webベースではないアプリケーションの場合、アクセスは通常、ユーザーのコンピューターで実行可能プログラムを実行することによって行われます。 Webアプリとは異なり、視聴者はキーボードに座って画面を見ている個人に限定されます。 さらに、オフラインで使用するように設計されたアプリケーションは、プログラムの実行とユーザーインターフェイスの両方について、独自のプロトコルに依存しています。
Webベース以外のアプリケーションの利点
非WebベースのアプリケーションはWebブラウザアプリケーションと互換性がある必要はないので、プログラムはWebサーバと世界中の視聴者との間の安全なデータ接続を確立するために通常必要とされる多くのセキュリティ機能なしで行うことができます。 さらに、プログラマーは、Web互換性を念頭に置いて、より一般化されたアプローチをとるよりも、特定のオペレーティングシステム用のコードを開発することができます。 これにより、プログラマは基盤となるオペレーティングシステムの特定の長所を利用するソフトウェアを構築できます。
デメリットとしてのデザインのパーソナライズ
Webベースではないアプリケーションの主な欠点の1つは、その利点の1つです。プログラムのデザインのパーソナライズされた性質です。 このアプローチでは、開発者はWebブラウジング製品にすでに存在するプログラム要素のコーディングに時間を費やす必要があります。 開発者はユーザーインターフェイスも作成する必要があります。これは、一般に同じルックアンドフィールを持つWebベースのアプリケーションに慣れていないためです。 Webベースではない環境でGTKやQTなどのツールキットを使用することでデザインを促進することができますが、その利点はツールキットが対処しようとしていたアプリケーションの機能に限定されます。 アプリケーションがよりパーソナライズされればされるほど、開発者はより多くのプログラミングをしなければならず、ツールキットや他の一般的なデザイン要素はあまり有用ではなくなるでしょう。
デメリットとしてのアップグレードの展開
Webベースではないアプリケーション設計のもう1つの欠点は、ソフトウェアアップグレードの展開速度にあります。 Webベースのアプリケーションでは、アップグレードは新しいバージョンをサーバーにアップロードするだけのことです。 アップグレードされたバージョンがオンラインになるとすぐに、すべてのユーザーがアップグレードされたアプリケーションにアクセスできます。 Web以外のアプリケーションの場合、ソフトウェアをアップグレードするには、各ユーザーがアップグレードを入手してから自分のコンピューターにインストールする必要があります。 サードパーティのインストールウィザードを使用すると、この作業をいくらか簡単にすることができますが、それでも、アップグレードされたソフトウェアを入手して展開するユーザーには必然的に遅延が発生します。