Node.js란?
Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임(환경)이다.
즉, 노드를 통해 다양한 자바스크립트 애플리케이션을 실행할 수 있으며, 서버를 실행하는 데 제일 많이 사용된다.
Node.js는 Javascript 언어를 사용하며, 서버사이트 스크립트 언어가 아닌 프로그램(환경)을 말한다.
내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치(정적인 데이터를 처리하는 웹 서버) 등의 별도 소프트웨어 없이 동작하는 것이 가능하며, 이를 통한 웹 서버의 동작에 있어 더 많은 통제에서 벗어나 여러 가지 기능을 가능하게 해준다.
단순히 웹에서 실행 가능한 게임을 만들려면 JavaScript 만으로도 가능하지만 좀 더 진화 된 프로그램으로 실시간 온라인 채팅, 실시간 온라인 게임 등 실시간 기능을 넣거나, 로그인 기능을 넣어 유저를 관리하고 점수를 관리하는 데이터베이스 기능을 Node.js를 통해 만들 수가 있다.
Node.js를 사용하는 이유
JavaScript는 이름에서 알 수 있듯 독립적인 언어가 아닌 스크립트 언어이다.
스크립트 언어는 특정한 프로그램 안에서 동작하는 프로그램이기 때문에 웹 브라우저 프로그램 안에서만 동작을 한다.
즉, 웹 브라우저(크롬, 사파리, 익스플로러, 파이어폭스 등)가 없으면 사용할 수 없는 프로그램이다. 여기서 Node.js가 등장하게 된다.
Node.js는 JavaScript를 웹 브라우저에서 독립시킨 것이다.
따라서 Node.js를 설치하게 되면 터미널 프로그램(cmd, terminal 등)에서 Node.js를 입력하여 브라우저 없이 바로 실행할 수 있다.
node hello.js
이렇게 Node.js를 이용하여 웹 브라우저와 무관한 프로그램을 만들수 있게 되었다.
여기서 중요한 점은 Node.js를 이용하여 서버를 만들 수 있다는 것이다.
이전까지 Server-Client 웹사이트를 만들 때 웹에서 표시되는 부분은 JavaScript 를 사용하여 만들고, 서버는 Reby, Java 등 다른 언어를 써서 만들었어야 했는데 마침내 한 가지 언어로 전체 웹 페이지를 만들 수 있게 된 것이다.
자바스크립트 런타임
런타임이란 특정 언어로 만든 프로그램을 실행할 수 있는 환경을 뜻한다.
따라서 노드는 자바스크립트 프로그램을 컴퓨터에서 실행할 수 있게 하는 자바스크립트 실행기라고 할 수 있다.
참고 : https://hanamon.kr/nodejs-%EA%B0%9C%EB%85%90-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/
'Front-end' 카테고리의 다른 글
[Next13] 메인페이지 성능 개선기 #browser-image-compression #plaiceholder #sharp (2) | 2023.10.10 |
---|