Node.jsとは、サーバサイドJavaScriptの実行環境のことです。
サーバサイドJavaScriptって何?って思いますよね。
分かりやすく簡単に解説していきます。
フロントエンドとサーバサイド
Node.jsの解説をする前に、Webのプログラミング言語についてお話しさせてください。
Webのプログラミング言語はフロントエンドと、サーバサイドの2つに分けられます。
フロントエンドの言語では、Webサイトの見た目や画面遷移などの機能を作っています。
主な言語にHTML、CSS、JavaScriptがあります。
サーバサイドの言語では、サーバ内部の処理を行っています。
主な言語には、PHP、Ruby、Java、Python、JavaScriptがあります。
Amazonのアカウントでログインする処理を例に考えてみましょう。
ログインする処理の流れとしては、
- ログイン画面で入力されたメールアドレスとパスワードが、Amazonのサーバへ送られる
- 送られた情報を元に、サーバ上のプログラムが、データベースからアカウント情報を取得
- サーバに保存されているアカウント情報をサイト側に送る
- 送られてきた情報を元に、サイトでログイン後の画面を表示する
1、4はフロントエンドによって作られ、2、3はサーバサイドで作られています。
ここで、フロントエンドとサーバサイドのどちらにもJavaScriptがあることに気が付いたでしょうか?
そうなんです。JavaScriptはどちらでも使えるんです。
Node.jsとは?
JavaScriptはフロントエンドとサーバサイドの両方に使えると言いましたが、
フロントエンドのJavaScriptと、サーバサイドのJavaScriptは別物だと思って下さい。
特にサーバサイドで使用するJavaScriptをサーバサイドJavaScriptと呼びます。
(フロントエンドの方はただのJavaScriptです)
ここで、Node.jsはサーバサイドのJavaScriptの実行環境です。
今までのWeb開発では、
「フロントエンドにはJavaScriptを使って、サーバサイドはPHPを使おう!」
という感じで、複数のプログラミング言語を使う必要がありました。
しかし、Node.jsのおかげで、フロントエンドもサーバサイドもJavaScriptで書けるようになったのです。
要するに、サーバサイドでもJavaScriptを使えるようにしたものというイメージです。
Node.jsのメリット
Node.jsを使用するメリットは主に以下の2点です。
- フロントエンドとサーバサイドを同じ言語で書ける
- 大量アクセスに対応できる
フロントエンドとサーバサイドを同じ言語で書ける
前述の通り、どちらもJavaScriptを使って書くことができるので、学習コストを削減することができます。
大量アクセスに対応できる
Node.jsの特徴的な機能の一つとして非同期処理があります。
非同期処理とは、処理が完了する前に、次の処理を行うことです。
非同期処理を行うことで、1つのプロセスで多くの処理を実行できるのです。
そのため、アクセス量が膨大になっても、素早く対処することができます。
まとめ
Node.jsとは?
サーバサイドでもJavaScriptを使えるようにしたもの
Node.jsのメリット
・フロントエンドもサーバサイドもJavaScriptで書ける
・大量アクセスに対応できる
コメント