728x90

우선 말하기 부끄럽지만, javascript와 Node의 차이점이 아직도 명확하게 와닿지 않는다. 

따라서 이에 대해서도 한 번 정확하게 정리해보려 한다.

 

javascript는 browser, document 등을 다루는 즉, client에 대한 개발을 하는 것이다.
반대로 node.js는 backend를 다룰 수 있는 도구이다.

나는 Node.js가 무엇인지 더 알아보며 차이점을 더 파악해 보려 한다.

간단한 설명 및 설치 방법에 대해서는 블로그에 이미 정리해두었으니, 해당 링크를 참고하고, 이번 글에서는 nodejs가 무엇인지,

그리고 javascript의 차이점을 이해해 보려 한다.

우선 Node.js는 chrome의 Javascript엔진인 V8이 Desktop App으로 추출된 것이다.

사실 와닿지 않는다....javascript의 console 창이 크롬에서 벗어나서 다른 서버 언어들 처럼 나의 데스크탑 터미널에서 사용할 수 있게 됐구나 정도가 파악될 뿐이다. 

 

JavaScript는 독립적인 언어가 아니라 스크립트 언어로써, 특정한 프로그램 안에서만 동작을 할 수 있는데, 크롬, 파이어폭스, 사파리, 익스플로러 등 이런 웹 브라우저가 없으면 사용할 수 없는 단점이 공존했다. 따라서 client개발을 위한 용도로만 국한되어 있었다.

Node/js는 터미널 프로그램(원도우 cmd, mac terminal 등)에서 node를 입력하여 브라우저 없이도 실행할 수 있게 됐다.


JavaScript를 크롬(Chrome)같은 브라우저에서만 쓰는 것이 아닌 브라우저 밖. 즉, 내 컴퓨터에서 다양한 용도로 확장하기 위해 만들어진 것이 바로 Node.js이다. Node.js를 이용하면 Python과 같이 내 컴퓨터에서 File System를 이용할 수 있고, 서버를 만들 수도 있고 크롤링도 할 수 있습니다. 결국은 JavaScript도 Python과 같은 프로그래밍 언어이기 때문이다.

Node.js를 이용하여 Express같은 라이브러리를 이용해서 서버를 만들곤하지만, Node.js 자체는 웹서버가 아니다. 위에 말씀드렸다싶이 Node.js는 자바스크립트 런타임(JavaScript Runtime)으로 Node.js는 웹 서버를 만들 수 있는 하나의 방법에 불과하다.

 

크롬(Chrome)과 Node.js는 따라서 같은 엔진(Google의 V8 엔진)을 공유하지만, 다른 런타임(runtime) 환경, 즉 크롬(Chrome)과 Node.js라는 다른 실행 환경을 가지고 있다고 할 수 있다.

 

Node.js의 장점

1. 비동기 처리로 인해 매우 빠른 고성능 서버 구현

2. 한 가지 언어만으로도 서버-클라이언트 모두 개발

3. 구글의 최신화된 VB Engine을 이용

4. 적은 양의 자원으로 일을 처리

5. 높은 커뮤니티 이용율 및 참여율

 

JS 와 Node

Javascript Node
프로그래밍 언어 브라우저 밖의 자바스크립트 런타임
JS 자체적으로는 브라우저에서만 동작하며 document를 다룸 데스크탑에서 동작하며 JS언어로 서버개발이 가능하도록 해주는 환경

 

추가적으로 Express는 Node.js의 framework이다. 마치 파이썬의 장고나 flask와 같다고 생각하면 된다.

 

728x90

+ Recent posts