案件評判
Node.jsを理解する!初心者でも分かる特徴・メリット、基礎知識などを簡単に解説!

Node.jsを理解する!初心者でも分かる特徴・メリット、基礎知識などを簡単に解説!

最終更新:2020/08/05 投稿:2020/06/17
Node.jsを理解する!初心者でも分かる特徴・メリット、基礎知識などを簡単に解説!

Node.jsはJavaScript向けのサーバサイド開発用の実行環境です。2011年にリリースされ、
サーバーサイドのJavaScript誕生の瞬間として世間を騒がせました。その高い注目度と人気はます一方で度重なるアップデートを繰り返し今ではJavaScriptにおいて最も使用される開発用実行環境として親しまれております。この記事ではNode.jsを理解するために初心者でも分かる特徴・メリット、基礎知識などを簡単に解説していきます。

Node.jsとは

Node.jsとは2009年にライアン・ダール氏によって作成されたJavaScript向けのサーバサイド開発用の実行環境です。JavaScriptを用いてサーバサイド開発を行う際の代表的な開発用実行環境として人気を集めております。JavaScriptは元々フロントエンドの開発に用いられるために誕生しました。それがNode.jsの登場によってPHPやRubyのようにJavaScriptをサーバーサイドの開発に用いれるようになりました。
Node.jsを活用することによって他のサーバーサイド言語では実現できなかったアクセスされたURLを識別し、URLごとにユニークな要素を表示させるなど、データベースで行う作業も合わせて実装出来るようになりました。他にもNode.jsは特徴として『リアルタイム通信』『シングルスレッド』『ノンブロッキングI/O方式』などが挙げられます。Node.jsはRubyの『Event Machine』や Pythonの『Twisted』のシステムに影響を受けて、同様の設計で開発されました。

JavaScriptのメリット・デメリット、基礎知識などを解説している記事はこちら>>

『Node.js 基本情報』
開発者:ライアン・ダール氏
種別:アプリケーション開発・実行環境
特徴:『リアルタイム通信』『シングルスレッド』『ノンブロッキングI/O方式』

Node.jsの公式サイトはこちら>>

Node.jsの読み方・名前の由来

Node.jsの読み方は『ノードジェーエス』です。Node.jsの名前の由来については生みの親であるライアン・ダール氏が登壇した基調講演にて「⁠グラフ理論のノードが由来。今はまだNode.jsをノードとしたノードは少ないけど,これからそれらがどんどん多くなるのを期待している」と打ち明けているようです。

Node.jsの歴史

Node.jsはライアン・ダール氏によって2009年に開発が始められました。約2年間の開発期間を経て2011年に待望の初期バージョンがリリースされます。これがJavaScriptの歴史にも刻まれる『サーバーサイドのJavaScript誕生』といわれる瞬間となります。2012年に開発者であるライアン・ダール氏はカルフォルニアに拠点を構える『Joyent社』に入社します。
これと同時に同社がNode.jsの開発支援をすることになりました。2014年になるとNode.jsの開発が停滞したことがキッカケとなり、一部の推進者によって新団体『Node Forward』を設立されます。2016年になると韓国の最大手コンピューター企業である『サムスン電子株式会社』がJoyent社を買収します。Node.jsは以下の表の通り、数々のバージョンアップを繰り返し、今も尚、改良と成長を続ける開発環境として親しまれております。

年代 バージョン 備考
2009年 Node.js 開発着手
2011年 Node.js 0.1.14 初期バージョンリリース
2015年1月 Node.js 1.0 Node.jsのfork版
2015年5月 Node.js 2.0 V8 4.2へ更新
2015年8月 Node.js 3.0 io.jsプロジェクトからリリースされる最後のバージョン
2015年9月 Node.js 4.0 Node.jsとio.jsの最初の統合版
2015年10月 Node.js 5.0 「buffer」からrawとrawsのエンコーディングタイプが削除
2016年4月 Node.js 6.0 ES2015
2016年10月 Node.js 7.0 ECMAScript 6に98%対応
2017年5月 Node.js 8.0 V8 5.8へ更新
2017年10月 Node.js 9.0
2018年4月 Node.js 10.0 Node.js API(N-API)が正式サポートとなる
2018年10月 Node.js 11.0 V8 7.0へ更新
2019年4月 Node.js 12.0 ECMAScript 6のModule機能が実験的に実装
2019年10月 Node.js 13.0 AsyncLocalStorageの追加
2020年4月 Node.js 14.0 V8 8.1へ更新


Node.jsの特徴・メリット

Node.jsの特徴・メリットを見ていきましょう。

リアルタイム通信

Node.jsは『リアルタイム通信』の実装が可能という特徴があります。「Socket.io」というライブラリを活用することによってブラウザ・モバイルデバイスなど全ての環境でリアルタイム通信を可能とすることが可能です。

『Socket.ioとは』
Node.js用のサーバー側ライブラリとブラウザ用JavaScriptライブラリ
ブラウザ・モバイルデバイスなど全ての環境でリアルタイム通信を可能

シングルスレッド

Node.jsは『シングルスレッド』を採用しているという特徴があります。シングルスレッドとはプログラム処理の流れが一本のみでの状態であることを表します。対の意味を持つ言葉に『マルチスレッド』というものがあります。シングルスレッドであることによって設計がシンプルに構築しやすいというメリットがあります。

ノンブロッキングI/O方式

Node.jsは『ノンブロッキングI/O方式』を採用しているという特徴があります。ノンブロッキングI/O方式とはコンピュータ内部のCPUと周辺装置のデータ入出力(I/O)において、データの送受信の完了を待たずに他の処理を開始することです。これにより軽量で様々なデバイスにまたがるリアルタイムアプリケーションに適した開発を実現することが出来ます。

Node.jsで開発された代表的なサービス

Node.jsで開発された代表的なサービスを見ていきましょう。

AbemaTV

AbemaTVはサイバーエージェント社が手掛ける国内最大の無料インターネットテレビ局です。こちらのAbemaTVは開発環境にNode.jsを採用しております。用途としては主にアプリケーションサーバーと組み合せて開発されているようです。

AbemaTVの公式サイトはこちら>>

タップル

タップルはサイバーエージェントグループが手掛ける国内最大級のマッチングアプリです。こちらのタップルでも開発環境にNode.jsを採用しております。用途としては主にWebサーバーとアプリケーションサーバーに組み合せて開発されているようです。

タップルの公式サイトはこちら>>

LinkedIn

LinkedInはLinkedIn社が手掛ける世界最大級のビジネス特化型SNSです。こちらのサービスのモバイル版にてNode.jsが採用しております。モバイル版の実行速度を高めるためにNode.jsを使用していると言われております。

LinkedInの公式サイトはこちら>>

まとめ

Node.jsを理解するために初心者でも分かる特徴・メリット、基礎知識などを簡単に解説させていただきました。Node.jsを一言で表すと『JavaScript向けのサーバサイド開発用の実行環境』です。Node.jsには特徴として『リアルタイム通信』『シングルスレッド』『ノンブロッキングI/O方式』が挙げられます。2011年のリリース後、度重なるアップデートを重ねて2020年時点でバージョン14を迎えております。Node.jsについてこの記事にかかれてい最低限の内容は理解しておくようにしましょう。

案件評判
常駐する会社が、実際どんな会社で、どんな案件が動いているか詳しく知りたい。
これは常駐形態で働く方なら誰もが感じていることだと思います。 常駐の働き方をされている方は是非一度「案件評判」で案件についての評判をチェックしてみてください。