Node.js와 브라우저 차이점

Purple·2022년 2월 14일
0

TIL

목록 보기
71/73

1. 목적

  • 브라우저는 HTML, CSS, 자바스크립트를 실행하여 웹 페이지를 화면에 띄워주는게 목적이지만, Node.js는 서버 개발 환경을 제공하는 것이 목적이다.

2. 각 환경에서 제공하는 API

  • 브라우저의 경우, 사용자에게 웹 페이지를 보여주는 것이 목적이기 때문에 HTML 요소를 선택하고 조작하는 DOM API와 같은 UI와 관련된 API를 제공한다. 또한, 이런 작업을 수행하기 위해서 브라우저는 window / document 객체에 접근할 수 있다. 브라우저는 사용자 컴퓨터에서 동작하기 때문에, 브라우저를 통해 사용자의 컴퓨터에 있는 파일들을 조작할 수 있다면 보안적으로 매우 위험하기 때문에 브라우저 환경에서는 이러한 동작을 하지 않는다.
  • Node.js는 주로 서버에서 데이터를 다루는 목적으로 사용되기 때문에 로컬 스토리지에 파일을 생성하고 수정하는 File 시스템 관련 API 및 컴퓨터 정보 확인이 가능한 API가 제공된다. 이런 작업을 수행하기 위해서 Node.js는 브라우저보다 컴퓨터의 깊숙한 곳까지 제어할 수 있다.

3. 자바스크립트 엔진

  • 브라우저가 사용하는 자바스크립트 엔진은 각 브라우저마다 그리고 버전마다 다르다.
    (Chrome은 V8, FireFox는 SpiderMonkey 등등)
  • Node.js는 V8 자바스크립트 엔진을 사용하고 있다.

4. 그 외

4-1. 모듈 키워드

  • Node.js에서 CommonJS 모듈 시스템을 사용하여 require()를 이용하여 다른 파일의 코드를 불러온다.
  • 브라우저는 ES 모듈 표준을 사용하고 있어 import를 이용하여 다른 파일의 코드를 불러올 수 있다.

4-2. 환경 제어 가능 여부

  • Node.js에서는 사용자가 앱에서 어떤 버전의 Node.js를 사용할 것인지 선택이 가능하다.
  • 브라우저 환경에서는 방문자가 어떤 브라우저를 사용할 것인지 선택할 수 없다.
profile
다시 보면, 더 많은 것들이 보인다.

0개의 댓글