Node.js와 브라우저

Node.js와 브라우저

Node.js와 브라우저 둘 다 자바스크립트 언어를 기반으로 실행되며, 자바스크립트 엔진을 내장하고 있다.

자바스크립트 엔진이라 함은, 크롬의 경우 V8 엔진, 파이어폭스는 스파이더몽키 등이 있다.

Node.js는 V8 엔진을 내장하고 있다.

Node.js와 브라우저의 차이점

차이점은 Node.js와 브라우저의 존재 목적이다.

브라우저는 HTML, CSS, JS를 실행하여 웹 페이지를 화면에 띄우는 것이 목적이다.

Node.js는 서버 개발 환경을 제공하는 것이 목적이다.

즉, JS는 브라우저와 서버( Node.js )를 위한 언어이며, 브라우저와 서버는 JS 런타임이라는 점은 동일하다. 그러나, 사용되는 환경이 다르다.

비유하자면, 같은 한국어를 사용하지만, 팀장님 앞에서의 어휘, 친구들 앞에서의 어휘가 다른 것이다.

브라우저의 경우, 유저에게 웹 페이지를 보여줘야하기 때문에, Web API를 제공한다.

예를 들면, history , Fetch , window , setTimeout 등이 있다.

Node.js는 서버 개발을 위해 사용되는 JS 런타임이므로, 브라우저에서 제공하는 내장함수인 alert 등을 사용할 수 없다. Node.js는 파일 시스템을 제어하거나, 데이터를 핸들링하는 등의 보다 보안요소가 더해진 API가 제공된다.

crypto , filesystem(fs) 등이 있다.

모듈 시스템의 경우 어떤 모듈을 불러올 때, 브라우저는 에크마스크립트 표준 모듈을 사용한다. 즉, import 를 사용하고, Node.jsCommonJS 모듈 시스템을 사용하여 require()를 사용해야한다.

Reference

2021년 10월 28일에 수정됨
YUNSU BAE

YUNSU BAE

주니어 웹 개발자 배윤수 입니다!

예술의 영역을 동경하고 있어요. 🧑‍🎨