2022年3月23日Node.jsの概要
Node.jsとは
スケーラブルなネットアプリケーションを構築するために設計された非同期型のイベント駆動のJavaScript環境です。
または
JavaScriptで書かれたプログラムを実行するためのランタイムとも表現できます。
ランタイムとは
実行に必要なプログラム群です。
スケーラブル(scalable)とは、拡張性がある、増加または減少しうる、という意味。 例えばインターネットでは、多数のファイル、多数のユーザ、多種多様なアプリケーションに対応できる技術的な柔軟性を指す。
実行エンジン V8
node.jsの実行エンジンです。
JavaScriptエンジンの役割は、JavaScirptを解釈して実行することです。 任意のJavaScript を実行する役割です。
ChromeのJavaScriptエンジンがV8です。
シングルスレッドとは
node.jsはシングルスレッドです。
前の処理が終えていないと次の処理が始まりません。
ブロッキングI/OとノンブロッキングI/O
時間のかかる処理にファイルI/Oがあります。
I/Oとは
入力と出力を一緒くたに表現です。入出力です。IはInput, OはOutputです。
つまりファイルI/Oとは
ファイルに対してデータを書き込む処理やファイルの中にあるデータを読み込む処理の事です。
ファイルI/Oの種類
※Node.jsはシングルスレッドでノンブロッキングI/Oでリソースの効率利用ができます。
Node.js + Express
webアプリケーションを実装する際にこの二つを用います。
ちなみにデスクトップアプリケーションにはNode.js + Electronを用います。
webアプリケーションの利用例
デスクトップアプリケーションの利用例
参考
Udemy Node.js入門