Node.js

[Node.js] Node.js 란?

건휘맨 2024. 11. 5. 15:25

Node.js 란 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임

 

Chrome V8 엔진과 JavaScript 런타임 이라는 용어를 이해하지 못하면

Node.js 에 대해 제대로 이해하기가 어렵기 때문에 먼저 이 2가지를 알아보자!

 

그 전에 웹 브라우저의 동작 과정에 대해 이해하는 것이 좋다

 

우리가 일반적으로 보게 되는 웹 화면은 HTML, CSS, JavaScript 이 세가지로 이루어져 있다

이 세가지는 브라우저를 통해서 해석된 후 화면으로 출력되게 되는데 이 과정을 "렌더링" 이라고 표현한다.

 

그런데 HTML,CSS 와 JavaScript 는 브라우저에서 해석되는 방법의 차이가 있다.

 

먼저 HTML, CSS 는 브라우저 내에 있는 렌더링 엔진을 통해서 해석

자바스크립트의 경우에는 브라우저 내에 있는 자바스크립트 엔진을 통해서 해석되게 된다.

 

우리에게 중요한 부분은 바로 자바스크립트 엔진 부분이다.

 

그 중에서도 크롬에서 만든 V8 이라는 엔진이 있다.

이 엔진이 개발되고 나서 자바스크립트의 속도가 비약적으로 빨라지게 되고 자바스크립트의 사용도가 엄청나게 증가하게 된다.

이 크롬 V8 엔진을 기반으로 Node.js 도 만들어지게 되었고 빠른 속도와 독립적 실행 이라는 특징을 가지게 되었다.

 

 

이제 JavaScript 런타임이라는 용어에 대해 알아보자

 

우선 JavaScript 는 HTML 요소를 조작하기 위한 언어,

브라우저에서 동작하며 HTML 요소를 조작하는 언어라는 뜻이다.

브라우저는 자바스크립트가 동작할 수 있는 런타임이라고 표현하기도 한다.

 

그래서 자바스크립트의 런타임이라는 뜻은 자바스크립트가 동작할 수 있는 환경을 의미한다.

 

원래 자바스크립트는 브라우저라는 런타임만 가지고 있었지만

Node.js 가 개발이 되면서 브라우저 외에 다른 곳에서 동작할 수 있는 새로운 런타임이 생겨난 것

 

또한 가끔 Node.js에 대해 단순히 서버라고만 이해하는 경우가 있는데

Node.js 로 구성되는 대부분이 서버이기 떄문에 이렇게 이해하는 경우도 큰 무리는 없지만

Node.js 는 Chrome V8으로 만들어진 자바스크립트가 동작할 수 있는 독립적인 환경이라고 이해하는 것이 더 좋다.