node.jsとは?
node.jsとはなんなのでしょうか。
僕もパソコンにインストールしてはいるものの「じゃあ具体的にnode.jsってなに?」と聞かれたら困ります。
拡張子に.jsとあることからプログラミング言語であるJavaScriptの親戚、あるいは友達であることは間違いないと言えるでしょう。
そこで、node.jsについて調べてみるとnode.jsの公式ページの上部にはこうあります。
Node.jsはスケーラブルなネットワークアプリケーションを構築するために設計された非同期型のイベント駆動のJavaScript環境です。
まったく意味がわかりません。
かろうじてJavaScriptの親戚、あるいは友達だろうという予想は合っていそうだということは分かりました。
引用した文章の下にも僕には理解不能な文章が羅列されていますので、「我こそは!」という方は公式ページから読んでいただきたいです。
そもそもNode.jsが正しいのかnode.jsが正しいのかすらわかりません。
ロゴは小文字っぽいのですが、おそらく大文字バージョンが正しい気がするので、ここからはそちらの表記(Node.js)でいくことにします。
プログラミングやパソコンについて学んでいるとあるあるだと思うのですが、わからない言葉を調べていると更に大量の意味が分からない言葉が現れるというループに陥ってしまいます。今回も例に漏れず「わけがわからないよ」となりました。
そもそもJavaScriptってなんだったっけ?
わけがわからなくなったら基本に戻るのは大切だということで、そもそもJavaScriptってなんだっけということを考えたいと思います。
MDNのJavaScriptとはというページによると
JavaScript はウェブページにて複雑な機能をできるようにするプログラミング言語です
わかりやすすぎる。
小学生でもわかる説明ですね。
Node.jsもこのくらいわかりやすい説明を心掛けてくれると嬉しいですね。
先ほどのページにはもう少し詳しく書かれていますが、JavaScriptはウェブページに動きを付けたりするために必要な言語であるという認識でいれば間違いないでしょう。
それを踏まえてのNode.js
JavaScriptがウェブページに動きをつけたりすることができる言語だとすると、Node.jsには違う目的があるといえるでしょう。
つまり、ウェブページに動きをつけたりする以外の目的があるといえます。
Node.jsについてさらに調べてみると、どうやらNode.jsはサーバーサイドで動作するらしいです。
僕の認識だとサーバーは、僕たちがウェブページにアクセスする際に裏でゴニョゴニョ処理してくれているものです。
つまり、オリジナルのJavaScriptが私たちの目に見える表側で動き、Node.jsは裏側の処理ができるJavaScriptということです。
これによって同じ言語で表と裏の処理ができるというメリットがあります。例えばサーバーのほうで動く言語としてPHPやPerl、Python など色々なものがありますが、これらに加えてNode.jsも選択肢にできるということでしょう。
表も裏も同じ言語で書くことができたら、二つのプログラミング言語を学ぶ必要が無くなり、超コスパがいいぜ!ということになりそうです。
まとめ
結局のところ、Node.jsとはサーバーで動くJavaScriptということらしいです。
なのでJavaScriptを勉強すれば、表も裏もどっちもできてお得だね!ということでしょう。
最後にNode.jsの公式ページさんには、もう少し初心者にもわかりやすい説明をしてほしいということだけは言っておきたいです。
参考サイト様
Node.jsとはなにか?なぜみんな使っているのか? - Qiita