제목 : Node.js 와 브라우저 간의 차이점
브라우저와 Node.js 둘 다 JavaScript 를 사용하며, 그들의 프로그래밍 언어로서 사용합니다.
브라우저에서 실행되는 앱을 구축하는 것은 Node.js 어플리케이션을 구축하는 것과는 완벽하게 다릅니다.
Node.js 가 언제나 자바스크립트를 사용한다는 사실에도 불구하고,
경험을 근본적으로 다르게 만드는 몇 가지 중요 차이점이 존재합니다.
자바스크립트를 널리 사용하는 프론트엔드 개발자의 관점에서,
Node.js 앱은 는 그들에게 거대한 장점을 가져다 줍니다.
어떠한 것을 프로그래밍 어떤 간에 편안합니다. - 백엔드도 동시에 같은 언어로 작성하므로
당신은 거대한 기회를 가지고 있는데,
왜냐하면 우리는 프로그래밍 언어를 넓게, 깊게 배우는 것이 얼마나 어려운 지 알고 있으며,
하나의 언어 배우기도 벅찬데 우리는 JavaScript 하나로 모든 것을 만들수 있다고 말하는것.
같은 언어를 사용함으로서, 웹에서 당신의 모든 작업을 수행 하기 때문입니다. - 클라이언트와 서버 둘 다
당신은 특별한 장점을 가질 수 있습니다.
변하는 것은 생태계
브라우저에서, 대부분의 시간은 DOM 객체, 혹은 Cookie 와 같은 다른 웹 플랫폼 API와 상호작용 하는 것이며,
당연하게도 이러한 것들은 Node.js 에서 존재하지 않습니다.
Node.js에서는 document
, window
와 같은 브라우저에서 제공하는 객체들이 제공되지 않습니다.
그리고 브라우저에서는, Node.js 를 통해 제공되는 모든 모듈들을 가지고 있지 않습니다.
파일에 접근할 수 있는 기능성과 같은 것들 말이죠.
Node.js 에서의 또 다른 큰 차이점은 당신이 환경을 제어한다는 것입니다.
누구나 어디서든 배포할 수 있는 오픈 소스 어플리케이션을 당신이 구축 할 때 까지,
당신은 어떤 버전의 Node.js 가 어플리케이션에서 구동할 지 알고 있을 겁니다.
브라우저의 환경과 비교하면, 당신의 방문자가 사용하게 될 브라우저를 선택할 수 있는 곳에서,
이는 매우 편리합니다.
위의 문장은 영어식으로 표현되어 있는데, 방문자는 구글, 크롬, 엣지, 파이어폭스 등등 여러 브라우저를 사용할 것이다.
하지만, 이러한 상황을 고려했을 때, Node.js 는 대부분의 브라우저에 맞출 필요 없이, 구축에만 신경쓸 수 있다는 것.
즉, Node.js 는 브라우저의 기능 표준을 준수하여 만들어졌기에, 어떤 브라우저이던 적용이 가능하다는 것이다.
이것이 의미하는 바는,
당신의 Node.js 버전이 지원하는 모든 모던 ES2015+ 자바스크립트를 작성 할 수 있다는 겁니다.
자바스크립트는 빠르게 변화하지만, 브라우저는 업그레이드가 느립니다.
따라서, 오래된 JavaScript / ECMAScript 릴리즈를 사용할 때, 가끔 웹에서 막힙니다.
이 때, 당신은 Babel 을 사용하여,
웹으로 옮기기 전에 당신의 현대식 코드를 ES5 와 호환될 수 있는 모드로 변환할 수 있습니다.
현대식 자바스크립트를 적용하기에는, 상대적으로 업그레이드가 느린 웹 브라우저에 호환되지 않을 수도 있다.
하지만, Babel(바벨) 이라는 프로그램을 적용하여,
아직 최신 기술이 적용되지 않은 브라우저가 알아들을 수 있는 ES5 버전의 코드로 변환할 수 있다는 의미이다.
하지만 Node.js 에서는, 이러한 과정 (Babel) 이 필요가 없습니다.
또 다른 차이점은 Node.js 가 CommonJS 와 ES 모듈 시스템(Node.js v12 부터 지원)을 모두 지원하는데,
브라우저는 ES 모듈 표준이 구현되는 것을 보기 시작했다는 겁니다.
실제로, 이는 Node.js 에서 require()
과 import
를 둘 다 사용할 수 있으며,
반면에 브라우저에서는 import
에 제한이 걸려있다는 겁니다.
'Node.js > Node.js 공식문서' 카테고리의 다른 글
Node.js 의 NODE_ENV 에 따른 차이점 (0) | 2024.09.19 |
---|---|
ECMAScript 2015 (ES6) 와 그 이후 (0) | 2024.09.18 |
NPM 패키지 매니저에 대한 소개 (2) | 2024.09.17 |
V8 자바스크립트 엔진 (4) | 2024.09.15 |
Node.js 공식문서 - Node.js 에 대한 소개 (0) | 2024.09.14 |