概要
Node.jsは、JavaScriptでサーバーサイドの開発ができる実行環境です。
もともとJavaScriptはWebブラウザ上で動く言語でしたが、Node.jsの登場により、
サーバー側の処理(データベース操作やAPI作成など)もJavaScriptで行えるようになりました。
「フロントエンドもバックエンドもJavaScriptで開発できる」という点から、
全世界で人気が高まっている技術です。
正式名称
Node.js(ノード・ジェイエス)
※「Node(ノード)」は“接点・ポイント”のような意味、.jsはJavaScriptを示す拡張子
略称
Node(ノード)やNode.js(ノード・ジェイエス)と略されることが多いです。
※「ノード」とだけ言う場合もありますが、文脈で判断されることが多いです。
特徴
- JavaScriptでサーバーサイド開発が可能
- 非同期処理(イベント駆動)が得意 → 高速&高負荷に強い
- 軽量で高速なV8エンジン(Chrome製)を使用
- npm(エヌ・ピー・エム)という巨大なパッケージ管理システムが使える
- API開発、チャットアプリ、リアルタイム通信などに最適
- OSやブラウザに依存せず、クロスプラットフォーム
- マイクロサービスやSPA(シングルページアプリ)との相性が良い
具体例
利用例 | 説明 |
---|---|
チャットアプリ | WebSocketを使ってリアルタイム通信を実現 |
APIサーバー | REST APIやGraphQL APIの構築に使われる |
データ収集ツール | 外部サイトから情報をスクレイピングして取得 |
簡易Webサーバー | HTTPサーバー機能を数行で構築できる |
CI/CDツール | デプロイやビルド自動化など、開発環境の構築にも使用可 |
例:簡単なWebサーバー(Node.js)
const http = require('http');
http.createServer((req, res) => {
res.write('Hello, Node.js!');
res.end();
}).listen(3000);
関連用語
用語 | 解説 |
---|---|
JavaScript | Node.jsで使われるプログラミング言語。もともとはブラウザ用だった。 |
npm(エヌピーエム) | Node.js用のパッケージ管理ツール。ライブラリやツールの導入が簡単。 |
非同期処理 | 複数の処理を同時に行う仕組み。Node.jsの高速処理の鍵。 |
REST API | データの取得や更新をHTTPで行う仕組み。Node.jsでよく開発される。 |
Express | Node.js用の人気Webフレームワーク。ルーティングなどが簡単にできる。 |
V8エンジン | Google ChromeとNode.jsで使われるJavaScriptの実行エンジン。非常に高速。 |
WebSocket | サーバーとクライアントがリアルタイム通信できるプロトコル。チャットなどに使われる。 |