Node.jsとは、ブラウザ外のJavaScript実行環境である。
概要
JavaScriptといえば、ブラウザ上での実行を前提に開発されたプログラミング言語である。しかし、Webサイトの機能が高機能化するにつれてJavaScriptもプログラミング言語として成長を遂げ、高い実行速度と汎用性を獲得することとなった。
その結果、「ここまで本格的にプログラミングできる言語なら、実行環境をブラウザ上に限定しなくても良いのではないか」という考え方[1]が生まれ、それを実現したのがNode.jsである。
なお、Node.jsという名前であるが、主にC++で書かれている。
中の人エンジン
実際にJavaScriptを処理する部分はV8というChromeのJavaScriptエンジンと同じものを使っている。ブラウザとの違いとしては、ブラウザで実行できると困るローカルファイルの読み書きに関するライブラリが充実していることなどがある。一方で、ブラウザで実行する時に黙示的に与えられるDOM(Document Object Model)が存在しない(Webページを表示しているわけではないので当然と言えば当然である。)。
主な用途
Webフレームワークによるサーバーサイドプログラミングに用いられることが多い。これまでの用途であるブラウザ上での実行(フロントエンド・クライアントサイド)と、Node.jsによるバックエンド・サーバーサイドのプログラミングが同じ言語・同じロジックで開発できるのが強みである。ブラウザ上で実行しなくて良くなっても、結局ブラウザからは縁が切れない。
バージョン
メジャーバージョン番号は半年ごとに1上がり、偶数番が安定版、奇数番は不安定な開発版である。偶数番のメジャーバージョンの寿命は3年(最初の半年は安定化を待つ期間であることを加味すると2年半)。
パッケージマネージャ
npmというパッケージマネージャがあり、Node.jsの拡張機能・ライブラリはここからインストール出来る。
関連動画
関連商品
関連リンク
関連項目
- JavaScript / ECMAScript / TypeScript
- AngularJS / React / フレームワーク
- Electron / Atom
- SQL / MySQL / SQLite
- Chrome / V8
- プログラミング関連用語の一覧
脚注
- *JavaScriptをブラウザ外で実行しようという考え方はNode.jsが登場する2009年よりも前からあり、Windows98の時代からWSH(Windows Script Host: 旧称Windows Scripting Host)ではJScriptというJavaScriptが実行できた(当然Windows専用)。しかし、JavaScriptの言語仕様が洗練される前の時代の産物であり、WSHの本命はVBScriptであったことなども重なったのかあまり普及はしなかった。強力すぎてセキュリティホールになったことや、当時Windowsで動作するサーバーソフトウェアが限られていたことも影響したと思われる。結局Microsoftが2006年以降PowerShellに軸足を移したことにより、WSHはお役御免となった。
- 2
- 0pt