Node.js入門 第1回

Node.js

Node.jsとは?JavaScriptでサーバー開発を始めよう

Web開発といえば、JavaScriptは「ブラウザで動く言語」というイメージが強いかもしれません。

しかし現在では、JavaScriptはサーバー側でも動かすことができます。

それを可能にしたのが Node.js です。

Node.jsを使うことで、JavaScriptだけで

  • Webサーバー
  • API
  • バッチ処理
  • CLIツール
  • リアルタイム通信アプリ

などを作ることができます。

この記事では、Node.jsの基本を初心者向けに解説します。

Node.jsとは

Node.jsとは

JavaScriptをサーバーサイドで実行できる実行環境(ランタイム)

です。

通常JavaScriptはブラウザ上で動きます。

Chrome
Safari
Edge
Firefox

しかしNode.jsを使うと、PC上でJavaScriptを直接実行できます。

console.log("Hello Node.js");

これを

node app.js

と実行するだけで動きます。

つまりNode.jsは

「JavaScriptをアプリケーション開発言語に変えた存在」

とも言えます。

Node.jsが生まれた理由

Node.jsが登場したのは 2009年

開発者は

Ryan Dahl(ライアン・ダール) です。

当時のWebサーバーは

  • 同時接続に弱い
  • リアルタイム処理が苦手

という問題がありました。

そこでNode.jsでは

イベント駆動 + 非同期処理

という仕組みを採用しました。

これにより

  • 大量アクセスに強い
  • 高速
  • 軽量

という特徴を持つサーバーが実現しました。

現在では

  • Netflix
  • PayPal
  • Uber
  • LinkedIn

など多くの企業が利用しています。

Node.jsの特徴

Node.jsにはいくつかの大きな特徴があります。

1 JavaScriptだけでフルスタック開発

フロントエンド

JavaScript

バックエンド

Node.js

つまり

同じ言語でフロントとバックエンドを開発できます。

これがNode.jsの大きなメリットです。

2 非同期処理が得意

Node.jsは

ノンブロッキングI/O

という仕組みで動いています。

例えば

通常の処理

A処理

B処理

C処理

Node.jsでは

A処理
B処理
C処理
を並行処理

が可能です。

そのため
• APIサーバー
• チャット
• リアルタイム通信

に向いています。

3 npmという巨大なライブラリ

Node.jsには

npm (Node Package Manager)

があります。

npmには、200万以上のパッケージが公開されています。

express
axios
lodash
react
typescript

たった1行でインストールできます。

npm install express

このエコシステムの大きさもNode.jsの魅力です。

Node.jsでできること

Node.jsは様々な用途に使われています。

Web API

REST API
GraphQL

Node.js + Express

Webアプリケーション

Next.js
Nuxt

リアルタイム通信

Socket.io
WebSocket

CLIツール

npm
vite
eslint

実は多くの開発ツールがNode.jsで作られています。

Node.jsを実行してみる

まずは簡単なプログラムを書いてみます。

app.js

console.log("Hello Node.js");

実行

node app.js

結果

Hello Node.js

これだけでNode.jsが動いています。

Node.jsで簡単なWebサーバー

Node.jsには標準でHTTPモジュールがあります。

const http = require("http");

const server = http.createServer((req, res) => {
  res.write("Hello Node.js Server");
  res.end();
});

server.listen(3000, () => {
  console.log("Server running");
});

実行

node server.js

ブラウザ

http://localhost:3000

これだけでWebサーバーが完成します。

Node.jsが向いているサービス

Node.jsが特に得意なのは

  • APIサーバー
  • チャット
  • SNS
  • ストリーミング
  • リアルタイムアプリ

です。

逆に

  • CPUを大量に使う処理
  • 大規模な数値計算

はあまり得意ではありません。

まとめ

Node.jsは

  • JavaScriptでサーバー開発ができる
  • 非同期処理が強い
  • npmの巨大なエコシステム
  • フルスタック開発が可能

という特徴を持つ非常に人気の技術です。

現在では、Web開発のスタンダード技術の1つになっています。

次回は、Node.jsの環境構築

コメント

タイトルとURLをコピーしました