본문 바로가기

Web Development

[Node.js] Node.js란? (Node.js는 백엔드인가?)

728x90

Node.js는 백엔드인가?

node.js는 백엔드라기보다 자바스크립트 런타임이란게 정확한 표현입니다. 즉 그 런타임 속에 서버 기능이 들어가 있는 거죠.

 

Node.js는 run-time environment이다. 쉽게 말해서, Node.js는 JavaScript 코드를 브라우저 밖에서 실행시키기 위한 프로그램이다. 

 

Node.js 사용이유

  • JavaScript는 독립적인 언어가 아닌 스크립트 언어로서, 스크립트 언어는 특정한 프로그램 안에서 동작하는 언어를 의미하며, 
  • 즉, JavaScript는 웹 브라우저(크롬, 사파리, 익스플로러, 파이어폭스 등)가 없으면 사용할 수 없는 언어이다. 
  • 이때. Node.js는 JavaScript 를 웹 브라우저에서 독립시킨 것으로 Node.js를 설치하게 되면 터미널프로그램(윈도우의 cmd, 맥의 terminal 등)에서 Node.js를 입력하여 브라우저 없이 바로 실행할 수 있다.
  • 하지만 JavaScript에서 분리된 언어이기 때문에 문법은 같다.
  • 이렇게 Node.js를 이용하여 웹 브라우저와 무관한 프로그램을 만들 수 있게 되었다.
  • 중요한 것은 Node.js를 이용하여 서버를 만들 수 있다는 것이다.
  • 이전까지 Server-Client 웹사이트를 만들 때 웹에서 표시되는 부분은 JavaScript 를 사용하여 만들어야만 했으며, 서버는 Ruby, Java 등 다른 언어를 써서 만들었어야 했는데 마침내 한 가지 언어로 전체 웹 페이지를 만들 수 있게 된 것이다.
  • JavaScript라는 프론트엔드 필수 언어로 백엔드까지 작성할 수 있다는 장점
  • 엄청나게 많은 양의 인풋 아웃풋 데이터를 처리해야 하는 서비스에 있어서 강점이 두드러진다
  • 싱글 스레드에 비동기식 방식

 

Node.js의 기본 성질은 single thread이기 때문에 CPU-intensive task는 약합니다.

반응형