Node.jsとは何か
非同期でイベント駆動のJavaScriptランタイム
Node.jsランタイムは、サーバ上でJSのコードを読み取って、コマンドを逐次実行していく。
ブラウザを必要としないJS。
アプリケーション全体を構築するのに使える
起動時に全てのコードがメモリにロードされる
全ての変数、関数、コードブロックが即実行されなくても、使える状態になる。
なんで実行されない?
イベントエミッタによってトリガーされたらコールバック関数を実行するためにメモリに常駐する
即実行するためじゃなくて、〇〇屋さんを配置してるだけ。みたいな感じ?
ロードが一回だからはやい
他のアプリは同じ処理が複数ユーザから呼ばれた場合、スレッドを増やして対応する
Nodeはシングルスレッドで対応できる
イベントループと言う機構によってできる
処理が重かったりすると、スレッド増やすけどね
処理完了⇨イベント発行のトリガになって次の処理が始まる
高速にロードされ、レスポンス性が高い
Node.jsはGoogle ChromeのJavaScriptエンジンとともに構築される
JSから機械語にコンパイルする
開発者はJSの記法さえ覚えれば、フロントもバックも関われるようになる
※入門Node.jsプログラミングから引用しています。