アプリケーション・プログラムはスマホやパソコン、サーバ、コンピュータ内蔵の装置などで動作するように作られますが、典型的なアプリケーションはWebアプリケーションではないでしょうか。
Webアプリケーションは、一般に、プレゼンテーション層、アプリケーション層、データ層の3つの層からなります。
プレゼンテーション層はディスプレイを通して、人とアプリケーションのインターフェースを司どります。アプリケーション層はアプリケーションのロジックを司どります。データ層はアプリケーションが使用するデータの管理を司どります。
物理的な装置に当てはめてみると、プレゼンテーション層はWebブラウザとWebサーバで実現し、アプリケーション層はAPサーバで実現し、データ層はDBサーバで実現します(次図参照)。
プレゼンテーション層は、ディスプレイを通して、人とアプリケーションのインターフェースを司どりますが、ここでは、次の3つの言語:HTML、CSS、JavaScriptを用います。
Webページの書式はHTMLとCSSで決め(HTMLは論理的な書式、CSSは物理的な書式)、JavaScriptはWebページに動きを与えます。これらの言語はWebブラウザ内のインタープリタ機能で実現しています。
アプリケーション層はアプリケーションのロジックを司りますが、用いるプログラミング言語は、Java、Ruby、PHP、Pythonなどが多いようです。
データ層は、アプリケーションが用いるデータベースの管理を司りますが、用いる言語は主としてSQLです。
このように、1つのWebアプリケーションをつくるために、プラットフォームとしてスマホ、パソコン、サーバなどを使用し、言語はプログラミング言語(Java、Ruby、PHP、Pythonなど)だけなく、HTML、CSS、JavaScriptなどを使用します。
これは煩雑なプログラミング作業を伴います。しかし、プログラミングを容易にするためのツールが多数用意されていますので、そうしたツールを活用するのが一般的です。