독립적인 언어가 아니라 스크립트 언어로써, 특정한 프로그램 안에서만 동작을 할 수 있는데, 크롬, 파이어폭스, 사파리, 익스플로러 등 이런 웹 브라우저가 없으면 사용할 수 없는 단점이 공존했다. 따라서 client개발을 위한 용도로만 국한되어 있었다.
JavaScript를 크롬(Chrome)같은 브라우저에서만 쓰는 것이 아닌 브라우저 밖. 즉, 내 컴퓨터에서 다양한 용도로 확장하기 위해 만들어진 것이 바로 Node.js이다. Node.js를 이용하면 Python과 같이 내 컴퓨터에서 File System를 이용할 수 있고, 서버를 만들 수도 있고 크롤링도 할 수 있습니다. 결국은 JavaScript도 Python과 같은 프로그래밍 언어이기 때문이다.
Node.js를 이용하여 Express같은 라이브러리를 이용해서 서버를 만들곤하지만, Node.js 자체는 웹서버가 아니다. 위에 말씀드렸다싶이 Node.js는 자바스크립트 런타임(JavaScript Runtime)으로 Node.js는 웹 서버를 만들 수 있는 하나의 방법에 불과하다. Express는 Node.js의 framework이다. 마치 파이썬의 장고나 flask와 같다고 생각하면 된다.
비동기 처리로 인해 매우 빠른 고성능 서버 구현
한 가지 언어만으로도 서버-클라이언트 모두 개발
구글의 최신화된 VB Engine을 이용
적은 양의 자원으로 일을 처리
높은 커뮤니티 이용율 및 참여율