Node.js란? 기본부터 알아보자

728x90

Node.js 란?

 

Node.js는 크로스플랫폼 오픈소스 자바스크립트 런타임 환경으로 여러 OS 환경을 지원한다. Node.js를 이용하면 웹 브라우저 바깥에서 자바스크립트 코드를 실행할 수 있다. 이러한 방식이 가능한 이유는 V8 자바스크립트 엔진을 통해 JS코드를 구동하기 때문이다.

V8 자바스크립트 엔진이란?
V8 자바스크립트 엔진은 웹 브라우저를 만드는 데 기반을 제공하는 
오픈 소스 자바스크립트 엔진으로 크롬 브라우저와 안드로이드 브라우저에 탑재되어 있다.

 

왜 Node.js를 사용할까?

그렇다면 왜 Node.j를 사용할까, 단순히 브라우저 없이 JS코드를 실행할 수 있는 것이 전부는 아니다.

Node.js를 사용하는 주요한 이유는 아래와 같이 설명될 수 있다.

 

확장성

Node.js 어플리케이션은 쉽게 확장이 가능하다.

이는 Node.js가 경량이며, 이벤트 루프와 비동기 방식으로 동시에 다수의 연결을 효율적으로 처리할 수 있기 때문이다.

 

JavaScript 언어의 확장

Node.js는 JavaScript를 브라우저 밖의 환경에서 실행할 수 있게 한다.

개발자들은 프론트엔드와 백엔드 모두에서 같은 언어를 사용할 수 있게 되어 개발 과정을 더욱 효율적으로 만들어 준다.

 

강력한 커뮤니티와 생태계

NPM(Node Package Manager)을 통해 오픈 소스 라이브러리를 쉽게 사용할 수 있다.

필요한 도구와 라이브러리를 쉽게 찾아서 사용할 수 있게 해준다.

 

비동기 프로그래밍 모델

Node.js는 비동기 이벤트 주도 모델을 채택하여, I/O 작업이 블록되지 않고 비동기적으로 실행된다.

특히 I/O가 중요한 어플리케이션에서 높은 성능을 발휘한다.

 

어디에?

 

그렇다면 Node.js는 어떤 프로젝트에 사용될까?

Node.js는 많은 장점을 가지고 있어 여러가지 프로그램에 사용된다.

특히 비동기 처리를 통한 실시간 채팅 서비스, 데이터 처리 등 작업 시간이 짧고 요청이 많은 시스템에 많이 사용된다.

 

웹 서버 개발

Express.js와 같은 프레임워크를 사용하여 RESTful API 또는 복잡한 웹 어플리케이션을 구축

실시간 어플리케이션

채팅 어플리케이션, 실시간 데이터 처리 어플리케이션 등 Node.js는 실시간으로 정보를 처리하고 사용자에게 전달해야 하는 서비스에 적용

 

스트리밍 어플리케이션

파일 스트리밍 또는 데이터 스트리밍 서비스 개발에 Node.js의 스트림 API를 통해 대용량 데이터 처리

 

네트워크 어플리케이션

TCP, UDP 서버와 같은 저수준 네트워크 어플리케이션을 구축

 

이 외에도 Node.js에 대한 내용은 공식 문서를 살펴보면 Node.js의 기술, 시작 방법, 사용 사례 등 다양한 정보를 확인할 수 있으므로 Node.js를 사용해야 한다면 공식문서를 참고하는 것을 권장한다.

 

참고자료

728x90

'Backend > Node.js' 카테고리의 다른 글

[Node.js] NVM 설정을 통한 버전관리  (2) 2024.09.12