[Node.js] Node.js란?

seoyeon·2024년 1월 4일
2

Javascript 공부하기

목록 보기
19/20

프론트엔드 분야에서 자주 쓰이던 프로그래밍 언어인 JavaScript !
JavaScript는 웹 브라우저와 애플리케이션 개발에 자주 활용되는 언어이고, 언어 점유율이 높아 Python , Java 와 함께 3대 프로그래밍 언어로 부르곤 하죠.

JavaScript는 본래 웹 브라우저에서만 동작하는 프로그래밍 언어로, 프론트엔드 분야에서만 사용할 수 있었죠.

그러나 Node.js 라는 런타임 환경이 등장하면서 프론트엔드와 백엔드 모두를 아우르는 언어가 되었는데요, 이와 같은 Node.js의 등장은 웹 개발 내에 혁신을 일으켰으며 생산성을 향상시키는 원동력이 되어 주었습니다.

그렇다면 Node.js 는 무엇이고 런타임 은 또 뭘까요? 🤔

📌 Node.js란?

공식 홈페이지에서는 Node.js를 다음과 같이 설명하고 있습니다.

Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임

Node.js는 JavaScript를 웹 브라우저로부터 독립시켜 서버 구현을 가능하게 했는데, 이처럼 특정 언어가 구동되는 환경런타임 이라고 합니다.

JavaScript 엔진 은 JavaScript 파일을 컴퓨터가 읽을 수 있도록 변환해주는 역할을 합니다.

V8 엔진 은 원래 구글이 웹 브라우저인 Chrome의 성능을 높이려는 목적으로 개발했습니다. 이전까지의 JavaScript 엔진들은 코드가 많아질수록 속도가 느려진다는 단점이 있었는데요. 코드 번역 방식을 바꿔 속도를 획기적으로 개선했죠. 구글이 이를 오픈소스로 공개하면서 전 세계적으로 V8엔진을 활용해 웹을 개발할 수 있게 됐습니다.

웹브라우저자바스크립트 엔진
Internet ExplorerChakra
FireFoxSpider monkey
SafariSquirrel Fish
ChromeV8
OperaKarakan

📌 Node js의 특징

▪️ 비동기 이벤트 기반 환경

Node.js는 비동기 이벤트 기반의 환경 을 제공합니다. 이벤트 기반의 비동기 처리는 입출력 작업을 기다리는 동안 다른 작업을 수행할 수 있기 때문에 CPU 자원을 효율적으로 활용할 수 있습니다.

▪️ 단일 언어 사용

Node.js는 JavaScript를 기반으로 하며 프론트엔드와 백엔드 모두에서 동일한 언어를 사용할 수 있습니다. 이는 개발자들의 생산성을 향상시키는 주요한 특징입니다.

▪️ 경량화

Node.js의 환경은 매우 가벼우며 코드 구조가 모듈화되어있기 때문에 병렬 작업과 대용량 데이터를 처리하는데 높은 성능을 보장합니다. 특히 다양한 라이브러리와 패키지를 지원하기 때문에 사용이 매우 용이합니다.

▪️ 확장성

Node.js는 새로운 모듈을 추가하거나 업데이트하는 과정이 무척 간단합니다. 특히 프로젝트를 생성하고 확장하는 과정이 매우 쉬워 초보자들도 쉽게 사용할 수 있습니다.

▪️ 커뮤니티와 생태계의 다양성

Node.js는 거대하고 활발한 커뮤니티와 생태계를 보유하고 있어 다양한 모듈과 패키지가 지속적으로 발전하고 있습니다. 따라서 지속적인 혁신과 개선이 이루어질 수 있습니다.


📄 참고자료

Node js란, 개념부터 특징까지 기업들이 사용하는 이유를 알려드립니다.
Node.js란? Node.js의 점유율이 빠르게 높아지는 이유
[NODE 강의] Node.js 란?

0개의 댓글