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로 제한된다는 것을 의미합니다.