基本的考えは、サーバでしかできないことはサーバで、クライアントで動かせるものはクライアントで処理を行なう。 極力サーバの負担を無くし、クライアントが重くならない程度に快適に動作させたい。
サーバで動作するのはPHPもしくはPerlもしくはJavaを考えている。クライアントではJavaScriptである。
なぜJavaScript一択なのかは、多くの人はお分かりだと思うが、JavaAppletが廃止されたために選択肢がJavaScriptしかないためである。
サーバで動くプログラム開発のことをサーバーサイドプログラミングと呼ばれるのに対し、 クライアント側のWeb上で動作するプログラム開発のことをフロントエンドプログラミング又はクライアントサイドプログラミングと呼ばれる。
クライアントで動作するのだから、クライアントプログラムと言うのかと思えば、違うことに要注意。 ネット検索でクライアントプログラムを調べると、P2Pソケット通信を指すことが多い。 混乱回避のため、フロントエンドプログラミングと呼ぶのが良さそうである。