JavaScript란 프로그래밍 언어이자 스크립트 언어이고, 스크립트 언어는 특정 프로그램이기 때문에 웹 브라우저(크롬 등)에서만 작동합니다.
Node.js란 자바스크립트의 런타임(특정 언어로 프로그램을 실행할 수 있는 환경)으로, 자바스크립트를 웹브라우저 밖에서 실행할 수 있도록 만들어줍니다. 즉, 자바스크립트 실행기라고 볼 수 있습니다.
(1) 한 가지 언어만으로 클라이언트에서 서버까지 모두 개발 가능
(2) 논블로킹(비동기)방식 ; 빠른 작업 수행으로 입출력(I/O)작업이 많은 서버 구축에 적합
(3) 싱글스레드 방식 ; 하나의 스레드에서 처리, 적은 양의 컴퓨터 자원으로 일을 처리
(4) 별도의 웹 서버 설치 불필요
개수는 많지만 크기는 작은(CPU연산이 적은) 데이터 처리 작업에 유리하다.
제목 | JavaScript | Node.js |
---|---|---|
종류 | 프로그래밍언어, 스크립트 언어 | 자바스크립트 런타임(V8이용) |
문법 | ES | 자바스크립트 |
동작환경 | 브라우저 내 | 브라우저 밖, 데스크탑의 터미널 |
활용 | 클라이언트에 대한 개발 | Express 같은 라이브러리를 사용해 서버 구축 가능 |
스레드 | 싱글스레드 | 싱글스레드 |
처리 | 동기, 즉 콜백함수 활용하는 스택처리 | 논 블로킹I/O(=비동기), 즉 동시처리 |