멀티스레드 환경(java)과 달리 싱글스레드 비동기식이며 실시간 대용량 처리에 적합하다는 JS 엔진 Node.js에 대하여 정리하고자 한다.
개요
웹 브라우져에서 종속 되어있던 js를 어디에서나 실행될수있도록 런타임(실행환경)을 제공하는 엔진
js를 실행시키는 프로그램으로 인식하면 된다.
node.js와 spring boot , django와 같은 프레임워크를 비교하곤 하는데, 사실상 node.js는 런타임 엔진이기때문에
런타임환경에 틀을 작성해두고 그 안에서 코드를 짜도록 하는 프레임워크와는 동등한 개념은 아니다.
node.js의 도입으로 js는 브라우져로부터 독립되어 실행이 가능해졌고 이 기술로 js도 프레임워크가 가능하다.
대표적으로는 express가 있다.
따라서 express vs spring boot 가 적절한 표현이다.
Django vs Node.js
node.js는 실시간 통신(리얼타임)을 구현하는것에 더 최적화 되어 설계되어있다. ex) 넷플릭스,우버
웹 소켓과 같은 js api를 사용해야하는 경우엔 node.js가 더 편리할것이다.
Django와 같은 프레임워크들은 crud에 더 적합하게 최적화 되어있으며 반대로 실시간 통신의 구현은 복잡하다. ex) 인스타그램,당근마켓
node.js는 프레임워크가 아니기에 레고 블럭을 쌓듯이 처음부터 하나하나 구현해야하고 Django는 갖춰진 프레임에 코드를 구현하면 된다.
목적에 따라 기술스택을 선택하면 될것이다.
https://onlyforus-blog.tistory.com/54
Node.js 특징
노드 js 다양한 모듈(클래스)를 지원한다 module == node.js에서 사용하는 객체화를 위한 클래스 개념 //mpart.js var M = { v:'v', f:function(){ console.log(this.v); } } module.exports = M; //위 모듈(클래..
onlyforus-blog.tistory.com
'개발자 준비 > Node.js' 카테고리의 다른 글
웹 소켓 실습 (0) | 2021.11.15 |
---|---|
Node.js 특징 (0) | 2021.11.15 |
JS (0) | 2021.11.15 |