Node.js

Yeonkor·2020년 9월 30일
0

Front-end

목록 보기
2/2

Node.js는 무엇인가?

Node.js는 웹 브라우저 환경에서만 구동 가능했던 종속적이며, 고립적인 언어의 특성을 브라우저 외의 환경에서 실행 가능하도록 런타임 환경을 조성해준다. 크롬 V8 엔진을 기반으로 다양한 운영체제에서 사용가능하게 해주는 것을 의미한다.

일반적으로 Node.js는 서버사이드 용도의 언어처럼 여겨지기도 하지만, 정확히는 자바스크립트 런타임 환경 그 자체이다. 예를들어 express 프레임워크 통해 서버사이드 통신이 가능하다고 하면 이것은 맞는 말이다.

다시 말해 자바스크립트 환경을 구축해주며, 자바스크립트 언어를 다양한 용도로 사용 가능하게끔 도와준다. 패키지 생태계인 npm은 오픈 소스 라이브러리로써, 서버사이드, 데이터 사이드, 매니징 등 다양한 용도로 시너지를 제공해준다.

생산성에서의 강점

그렇다면 자바스크립트 런타임에서 다양한 파트의 어플리케이션 개발을 진행하면 얻는 장점이 무엇일까?

먼저 동일한 프로그래밍언어와, 환경 제약의 장벽이 크게 사라지기에, 프론트 엔드 개발자의 풀스택 개발이 수월해진다. 프론트엔드 개발에 대한 접근을 하는 자바스크립트 개발자들이 비교적 백엔드 환경에 접근성이 수월하다.

또한 JSON 데이터 표현식을 사용하며, 데이터 관리 표준에 더욱 가깝게 유지할 수 있다는 점이다. DB 용도로 사용하여도, 데이터 처리 일괄과정이 같은 형식이기에 일관성을 갖는다. 또한 이는 코드의 길이를 줄여준다.

난이도가 있는 비동기 프로그램 또한, 사용하기에 Node.js에서는 더욱 용이하다. 콜백함수를 이용한 비동기 처리를 하지 않아도 된다.

단일 쓰레드 모델을 사용하여, 멀티스레드의 이슈인 동기화, 교착상태에 대한 리스크 고착을 제거한다.

profile
CTO를 꿈꾸는 CDO

0개의 댓글