프론트엔드 분야에서 자주 쓰이던 프로그래밍 언어인 JavaScript
!
JavaScript는 웹 브라우저와 애플리케이션 개발에 자주 활용되는 언어이고, 언어 점유율이 높아 Python
, Java
와 함께 3대 프로그래밍 언어로 부르곤 하죠.
JavaScript는 본래 웹 브라우저에서만 동작하는 프로그래밍 언어로, 프론트엔드 분야에서만 사용할 수 있었죠.
그러나 Node.js
라는 런타임 환경이 등장하면서 프론트엔드와 백엔드 모두를 아우르는 언어가 되었는데요, 이와 같은 Node.js의 등장은 웹 개발 내에 혁신을 일으켰으며 생산성을 향상시키는 원동력이 되어 주었습니다.
그렇다면 Node.js
는 무엇이고 런타임
은 또 뭘까요? 🤔
공식 홈페이지에서는 Node.js를 다음과 같이 설명하고 있습니다.
Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임
Node.js는 JavaScript를 웹 브라우저로부터 독립시켜 서버 구현을 가능하게 했는데, 이처럼 특정 언어가 구동되는 환경을 런타임
이라고 합니다.
JavaScript 엔진
은 JavaScript 파일을 컴퓨터가 읽을 수 있도록 변환해주는 역할을 합니다.
V8 엔진
은 원래 구글이 웹 브라우저인 Chrome의 성능을 높이려는 목적으로 개발했습니다. 이전까지의 JavaScript 엔진들은 코드가 많아질수록 속도가 느려진다는 단점이 있었는데요. 코드 번역 방식을 바꿔 속도를 획기적으로 개선했죠. 구글이 이를 오픈소스로 공개하면서 전 세계적으로 V8엔진을 활용해 웹을 개발할 수 있게 됐습니다.
웹브라우저 | 자바스크립트 엔진 |
---|---|
Internet Explorer | Chakra |
FireFox | Spider monkey |
Safari | Squirrel Fish |
Chrome | V8 |
Opera | Karakan |
Node.js는 비동기 이벤트 기반의 환경
을 제공합니다. 이벤트 기반의 비동기 처리는 입출력 작업을 기다리는 동안 다른 작업을 수행할 수 있기 때문에 CPU 자원을 효율적으로 활용할 수 있습니다.
Node.js는 JavaScript를 기반으로 하며 프론트엔드와 백엔드 모두에서 동일한 언어를 사용할 수 있습니다. 이는 개발자들의 생산성을 향상시키는 주요한 특징입니다.
Node.js의 환경은 매우 가벼우며 코드 구조가 모듈화되어있기 때문에 병렬 작업과 대용량 데이터를 처리하는데 높은 성능을 보장합니다. 특히 다양한 라이브러리와 패키지를 지원하기 때문에 사용이 매우 용이합니다.
Node.js는 새로운 모듈을 추가하거나 업데이트하는 과정이 무척 간단합니다. 특히 프로젝트를 생성하고 확장하는 과정이 매우 쉬워 초보자들도 쉽게 사용할 수 있습니다.
Node.js는 거대하고 활발한 커뮤니티와 생태계를 보유하고 있어 다양한 모듈과 패키지가 지속적으로 발전하고 있습니다. 따라서 지속적인 혁신과 개선이 이루어질 수 있습니다.
Node js란, 개념부터 특징까지 기업들이 사용하는 이유를 알려드립니다.
Node.js란? Node.js의 점유율이 빠르게 높아지는 이유
[NODE 강의] Node.js 란?