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