JavaScript
브라우저, 문서 등을 다루는 client에 대한 개발을 하는 도구
JavaScript는 독립적인 언어가 아니라 스크립트 언어로써, 특정한 프로그램 안에서만 동작을 할 수 있는데, 웹 브라우저가 없으면 사용할 수 없다는 단점이 존재합니다. client개발을 위한 용도로 국한되어 있어요.
nodejs
backend에서 server에 대한 개발을 하는 도구
JavaScript를 크롬(Chrome)같은 웹 브라우저에서만 쓰는 것이 아닌, 브라우저 밖(내 컴퓨터)에서 다양한 용도로 확장하기 위해 만들어진 것이 바로 Node.js입니다.
Node.js를 이용하면 Python과 같이 내 컴퓨터에서 File System를 이용할 수 있고, 서버도 만들 수 있고, 크롤링도 할 수 있습니다. 결국은 JavaScript도 Python과 같은 프로그래밍 언어이기 때문입니다.
그러나, Node.js 자체는 웹서버가 아닙니다. Node.js는 JavaScript Runtime(자바스크립트 런타임)으로 웹 서버를 만들 수 있는 하나의 방법에 불과하기 때문입니다.
Node.js의 장점 |
---|
1) 비동기 처리로 인해 매우 빠른 고성능 서버 구현 |
2) 한 가지 언어만으로도 서버-클라이언트 모두 개발 가능 |
3) 구글의 최신화된 VB Engine을 이용 |
4) 적은 양의 자원으로 일 처리 가능 |
5) 높은 커뮤니티 이용율 및 참여율 |
JavaScript | Node.js |
---|---|
프로그래밍 언어 | 브라우저 밖의 자바스크립트 런타임 |
JS 자체적으로 브라우저에서만 동작 | 데스크탑에서 동작 |
document를 다룸 | JS언어로 서버개발이 가능하도록 해주는 환경 |