Skip to content

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

브라우저와 Node.js는 모두 JavaScript를 프로그래밍 언어로 사용합니다. 브라우저에서 실행되는 앱을 빌드하는 것은 Node.js 애플리케이션을 빌드하는 것과는 완전히 다릅니다. 항상 JavaScript라는 사실에도 불구하고 경험을 근본적으로 다르게 만드는 몇 가지 주요 차이점이 있습니다.

JavaScript를 광범위하게 사용하는 프론트엔드 개발자의 관점에서 Node.js 앱은 큰 이점을 제공합니다. 바로 프론트엔드와 백엔드 모두를 단일 언어로 프로그래밍하는 편안함입니다.

프로그래밍 언어를 완전하고 깊이 있게 배우는 것이 얼마나 어려운지 알기 때문에 엄청난 기회를 얻을 수 있으며 클라이언트와 서버 모두에서 웹에서 모든 작업을 수행하는 데 동일한 언어를 사용함으로써 독특한 이점을 누릴 수 있습니다.

TIP

변화하는 것은 생태계입니다.

브라우저에서 대부분의 시간 동안 하는 일은 DOM 또는 쿠키와 같은 다른 웹 플랫폼 API와 상호 작용하는 것입니다. 물론 이러한 것들은 Node.js에는 존재하지 않습니다. document, window 및 브라우저에서 제공하는 다른 모든 객체가 없습니다.

그리고 브라우저에는 파일 시스템 액세스 기능과 같이 Node.js가 모듈을 통해 제공하는 모든 멋진 API가 없습니다.

또 다른 큰 차이점은 Node.js에서 환경을 제어한다는 것입니다. 누구나 어디에서나 배포할 수 있는 오픈 소스 애플리케이션을 빌드하지 않는 한 애플리케이션을 실행할 Node.js 버전을 알 수 있습니다. 방문자가 사용할 브라우저를 선택할 수 없는 브라우저 환경과 비교할 때 이는 매우 편리합니다.

즉, Node.js 버전이 지원하는 모든 최신 ES2015+ JavaScript를 작성할 수 있습니다. JavaScript는 매우 빠르게 움직이지만 브라우저 업그레이드는 약간 느릴 수 있으므로 웹에서는 때때로 이전 JavaScript / ECMAScript 릴리스를 사용해야 합니다. Babel을 사용하여 코드를 ES5 호환으로 변환한 다음 브라우저로 배송할 수 있지만 Node.js에서는 그럴 필요가 없습니다.

또 다른 차이점은 Node.js가 CommonJS 및 ES 모듈 시스템을 모두 지원하는 반면(Node.js v12부터) 브라우저에서는 ES 모듈 표준이 구현되기 시작했다는 것입니다.

실제로 이는 Node.js에서 require()import를 모두 사용할 수 있지만 브라우저에서는 import로 제한된다는 의미입니다.