クライアントサイドとサーバーサイド

Web ブラウザは、単に HTML を受け取ってレンダリングしているだけ

単純な Web サイトは、HTML, CSS, JavaScript 等を使ってプログラミングをしているように見えるが、これはあくまでクライアントサイドでのことだけであって、クライアントの外側には影響を与えない。その点では非常に簡素なものだといえる。

基本的にはこういったサイトは、サーバーから受け取った HTML をレンダリングしているだけである。

  1. クライアント = Web ブラウザは、サーバーサイドへ URL をもとにリクエストをし、
  2. (サーバーサイドは HTML をクライアントへ返し)、
  3. クライアントは HTML を受取り、レンダリングする。

PayPal と連携して商品を買ったりするサイトを作るためには、サーバーサイドのプログラミングをする必要がある

しかし、例えば PayPal を介して、商品を購入できるサイトは、サーバーサイドのプログラミングがされている。何故なら、PayPal の決済システムとの連携や、在庫の管理用のデータベースへの記録と参照といったシステムは、クライアントサイドの外側 = サーバーサイドにあるからだ。

クライアントサイドにない、サーバーサイドの機能をプログラミングするのが、サーバーサイドプログラミングだ。

他にも次のようなケースはサーバーサイドプログラミングが必要

  1. WordPress ブラウザで記事をかいて、公開すると、そのデータがサーバーサイドにあるデーターベースに記録される。(=サーバーサイド)
  2. 問い合わせフォーム ユーザーが問い合わせた内容が、データーベースに記録され(=サーバーサイド) 、各担当部署にメールで送られる(=サーバーサイド)
  3. Twitter の Fav や Facebook のいいね!などは、押した数がサーバーサイドにあるデータベースに記録され、その数を参照している

Node.js は JavaScript でサーバーサイドの機能も書けるランタイム環境

サーバーサイドのプログラミングをすることができる言語は多くあるが、その中の一つが Node.js で、フロントエンドエンジニアが慣れ親しんでいる JavaScript で書けるのが一つの特徴である。(とはいえ、クライアントサイドで書いている JavaScript そのもので書けるわけではない。変数の宣言、条件分岐、関数の宣言や実行の方法が同じだけで、感覚的にはほとんど別の言語といってもいいかもしれない。)

results matching ""

    No results matching ""