Node.js でサーバサイド Javascript

Node.js を使ってイベント駆動で Web アプリケーションを操作してみます。

Node.js

Node. js Ryan Dahl 開発したサーバサイド Javascript です。Google 開発する JavaScript 実行エンジン V 8 利用て、イベント駆動型の非同期な Web アプリケーション 開発が可能です

特徴

  • ノンブロッキングI/O
  • イベント駆動型
  • シングルスレッド
  • コアモジュールは C/C# で実装されている

向き

  • リアルタイムで大量のデータを処理するサービス
  • C10K 問題を回避できる
  • リアルタイムにどんどん情報が更新されていくようなサービス
  • WebSocket を利用するサービス

不向き

  • CPU リソースを大量に必要とする処理が必要なサービス
  • イベントが発生が無いような静的なサイトなどのサービス

インストール

今回は、ubuntu に node.js v8 をインストールします。

いくつかインストールする方法があります。

  • apt-get
  • ppa
  • nvm
  • n

一番手っ取り早い apt-get で今回はインストールします。nvm や n では複数のバージョンをインストールできます。

実行

コンソール

ファイル

html 読み出し

フロント側でサーバ側への接続処理をして、サーバ側でイベントごとに処理分けをしてクライアント側へ返します。

まとめ

フロントで javascript で行っていたように、サーバサイドでフロー型ではなくイベント型で処理が出来るようになります。コールバック地獄になったり、シングルスレッドイベントループを落とさないように注意が必要です。  Promise 化や ES7 で導入された async , await の使用や EventEmitter を活用するのがよさそうです。

参考

パッケージマネージャを利用した Node.js のインストール

Callback Hell

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA