自分の理解
javascriptという言語があるが、これはフロントエンドの言語。
バックエンドでも同じ言語を使えたらいいのに!ということで、サーバー側でもjavascriptを実行できるように作られたツールがNode.js。
ちょっと脱線しますがjavaの仕組みは、
javaのプログラムは、コマンドラインで
javac test.javaでコンパイルして
java test.javaで起動する
この[javac]や[java]のコマンドが利用できるのは、java開発キット(JDK)がインストールされているから。
JDKで細かくコマンドの挙動などなど定義されている。(と理解してます)
Node.jsはこのJDKと同じ立ち位置だと理解しているのですが間違っていますか?
調べたサイト
https://nodejs.org/ja/about/
→「javascript環境」の意味がわかりません
非同期型でデッドロックかからないなどNode.jsで実現できることについては理解できましたが、じゃあ結局Node.jsってなんなの?となります。
ツールじゃないのですか?
https://eng-entrance.com/what-is-nodejs
→イメージとしてわかりやすかったのですが、
「Node.jsはサーバサイドでJavaScriptを実行できるようにしてくれるものだ。プラットフォームという表現が正しい。
PHPに対するWebサーバのApache的な存在のようにも思えるが、Node.jsはサーバも構築できるし、アプリケーションプログラムも動かせる。」
サーバを構築できてアプリも動かせるプラットフォームって、もうそれはOSだと思うのですが、一体このNode.jsは何者なのでしょうか。
同義らしいApacheも、何者か理解できていないので、Apacheを例に挙げられても理解できません。
基本的なことなのかもしれないですが、調べても調べても調べてもわからなくてどうしようもないので、よろしくお願いします。