こんにちは、かつコーチです。
「Node.jsって聞いたことはあるけど、結局何なのか分からない」。
そんな悩みを持つ方は多いです。
ずっと記事にしていませんでしたが、この際まとめておきましょう。
この記事では、Node.jsが何者なのかを、ブラウザとの違いを交えて分かりやすく解説します。
読み終わる頃には、なぜNode.jsがサーバー開発で使われるのか、自分の言葉で説明できるようになります。
Node.jsとは?
JavaScriptを「ブラウザの外」で動かす実行環境
Node.jsとは、JavaScriptをブラウザ以外の場所でも動かせるようにする実行環境です。
実行環境とは、プログラムを動かすための土台となるソフトウェアのことです。
もともとJavaScriptは、Webページに動きをつけるためだけの言語でした。
Chromeなどのブラウザの中でしか動かせなかったのです。
ところがNode.jsが登場したことで、パソコンやサーバー上でも直接JavaScriptを実行できるようになりました。
つまりNode.jsがあれば、ブラウザを開かなくてもJavaScriptのプログラムを動かせます。
V8エンジンとの関係
Node.jsの中身には、Googleが開発したV8エンジンが使われています。
V8エンジンとは、JavaScriptのコードを高速に実行するためのプログラムです。
もともとChromeブラウザの中でJavaScriptを処理していたのが、このV8エンジンです。
Node.jsは、このV8エンジンをブラウザから取り出し、単独で動かせるようにしたものだとイメージしてください。
だからNode.jsは高速に動きますし、書き方もブラウザのJavaScriptとほぼ同じです。
なぜサーバーサイドでNode.jsが使われるのか
フロントエンドと同じ言語で開発できる
Webサービスの開発では、画面側(フロントエンド)とサーバー側(バックエンド)の両方が必要です。
従来はフロントエンドがJavaScript、バックエンドがPHPやRubyというように、言語を分けるのが一般的でした。
Node.jsを使えば、フロントエンドもバックエンドもJavaScript一本で開発できます。
言語の切り替えコストがなくなるため、学習の負担が減りますし、チーム開発もスムーズになります。
非同期処理が得意で大量アクセスに強い
Node.jsは非同期処理が得意な設計になっています。
非同期処理とは、時間のかかる処理を待たずに、次の処理を先に進める仕組みのことです。
たとえばファイルの読み込みやデータベースへの問い合わせを待つ間も、他のリクエストを処理できます。
このおかげで、Node.jsはチャットアプリやリアルタイム通知など、同時に大量のアクセスをさばく場面で強みを発揮します。
Node.jsで簡単なプログラムを動かしてみる
インストールと動作確認
まずはNode.js公式サイトからインストーラーをダウンロードし、インストールします。
インストールが終わったら、ターミナルで以下のコマンドを実行してください。
node -v
バージョン番号(例:v20.11.0)が表示されれば、インストールは成功です。
最初のJavaScriptファイルを実行する
次に、簡単なJavaScriptファイルを作って実行してみましょう。
// hello.js
console.log("こんにちは、Node.jsの世界へようこそ!");
このファイルを保存したら、ターミナルで次のコマンドを実行します。
node hello.js
「こんにちは、Node.jsの世界へようこそ!」と表示されれば成功です。
ブラウザを開かずにJavaScriptが実行できたことを、実感してもらえると思います。
よくあるつまずきポイント・エラー対処
コマンドが見つからないエラー
私が初めてNode.jsを触ったとき、インストール直後にこんなエラーに遭遇しました。
❌ Before
$ node -v
zsh: command not found: node
インストールしたはずなのに、コマンドが認識されないというエラーです。
原因は、インストール後にターミナルを再起動していなかったことでした。
✅ After
# ターミナルを一度閉じて再度開き直す
$ node -v
v20.11.0
ターミナルを再起動し、環境変数を読み込み直したことで解決しました。
インストール直後にコマンドが効かない場合は、まずターミナルの再起動を試してみてください。
まとめ
この記事のポイント
- Node.jsはJavaScriptをブラウザの外で動かす実行環境である
- 中身にはGoogle製のV8エンジンが使われている
- フロントエンドと同じ言語でサーバー開発ができる
- 非同期処理が得意で、大量アクセスに強い
次に読むべき記事
Node.jsの基本が分かったら、次はパッケージ管理の仕組みを学びましょう。
「npmとpackage.jsonの基本:パッケージ管理を理解する」で、外部ライブラリの導入方法を解説しています。
