Node.js は、もはや現代の JavaScript エンジニアには切っても切り離せないほどに重要なプラットホームです。
サーバー側でJSを動かすことができるので、いわゆる Web系開発言語、主なものとしては PHP Ruby Python Perl Java C# などなどになると思いますが、これらの言語は全てJSで交換可能になりました。
他言語を使う必要がなく、全てをJSで済ます、ということができます。
JS以外の言語だと、Webブラウザ上では動かないのでJSは絶対にWeb開発には欠かせないところなので、結局の所、言語数を減らして効率良い開発をするためには、JSを一択することになるわけです。
Node.js とは
Node.js とは、Google Chrome で使われている JavaScript エンジン(V8と呼ばれる)を取り出して、サーバーで JavaScript が動くようにするための仕組みです。
詳しくは、(Node.js - Wikipedia)[
https://ja.wikipedia.org/wiki/Node.js#%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%881%E4%B8%87%E5%8F%B0%E5%95%8F%E9%A1%8C]、こちらをどうぞ。
モジュール化されて分割されたJSファイルをまとめることができる
Node.js は サーバーサイドでJavaScript を動かさなくても、開発に使われることになってきました。
ひとつは、Web開発では、JSファイルを複数、読み込んで機能を実装させます。ライブラリだったり、ある機能、また、別の機能、それぞれ分割されたJSファイルを読み込みたくなるところなのですが、複数のJSファイルを読み込むと、ページロードが遅いということになります。
HTML上でいうと
1 2 3 4 5 6 7 8 |
省略 : <script src="file1.js"></script> <script src="file2.js"></script> <script src="file3.js"></script> <script src="file4.js"></script> : 省略 |
このようにするとWebページのロードが遅いんですね。なので、
1 2 3 4 5 |
省略 : <script src="fileAll.js"></script> : 省略 |
こんな風にひとまとめにしたいのです。
手動でそれを行うのはいちいちファイルの様々な場所を改良しなくて、大変なのですが、その処理を Node.js を使って簡単に行えます。ページロードがはやいというメリットになり、これは、Web業界では超重要なことなんです。
関連しますが、JSには、言語的にモジュール分割の仕組み、C++などでいわれるようなincludeの仕組みがありませんでした。だから、HTMLのscript タグで複数のJSファイルを読み込むという方法がとられていたのです。
これを言語的に行う記述方法を実現してきたのが、Node.js です。少し前は require指令、現在は import指令 という命令文を使うことで、HTMLを使わなくても、JSだけで、ファイルまとめて動かすということができるようになりました。
モジュールのインストールが超ラクになった。
Node.js は、npm というパッケージ管理システムが搭載されています。ざっくりいうと[npm install xxx]というコマンドを入力することで、xxxというモジュールがコマンドを入力したフォルダで使えるようになります。
世界中の開発者が自分の開発したモジュールをnpmに登録してもらうように申請しているので、[npm install xxx]というコマンドだけで、それを利用できるので、オープンソースを利用した開発が非常に高速に進むようになっています。ソースコードをコピペしたりダウンロードしたりする手間もないわけです。
JS開発では、もはや、オープンソースを使っているという意識すらなく、まるで「言語の標準機能」を使っているかのように、オープンソースを使うことになります。
最新のJavaScriptが古いブラウザでも動くようにする
これもここ数年なのですが、Babelという「トランスパイラ」とよばれるものが登場してきています。これは、最新の JavaScript を古い JavaScript に変換するためのものです。
以前は プログラミング言語から機械語に変換して実行することを示す用語として「コンパイル」というのが使われていましたが、それを応用した用語としてある言語を他の言語に変換する意味で「トランスパイル」という言葉が使われるようになったようです。
JavaScriptの仕様はECMAScriptと呼ばれますが、このバージョンがES5だったり、ES6だったりと呼ばれています。IEやfirefoxやchromeのバージョンがあがるたびに、対応できる ESのバージョンがあがってきたりするのですが、古い環境でも動かしたいプログラムだと、結局、最新のJS(つまりES)では開発できないとなるのですが、この問題をBabelが解決してくれました。
その Babelをすばやくインストールしてくれて、また、その変換も設定によってさっと行えるようにしてくれるのが、Node.js というわけです。
Node.js は必須です。
上で書いたような、Web開発者の現場でバリバリと働く人達が喉から手が出る程欲しい機能を Node.js は提供してくれているので、プロなら誰でも使っているツールです。
今現在、JavaScriptを学ぶ人は、まず、この Node.js を使いこなすことが、現場で即戦力として活躍できる人になるための第一歩になると思います。
Node.js のインストールは非常に簡単なので、インストールしてみてください。
いずれ、インストール方法の細かいところも紹介していくようにしますね。