Nest는 효율적이고 확장 가능한 Node.js 서버 측 애플리케이션을 구축하기 위한 프레임워크다. Like Django!
*Node.js: Chrome V8 JavaScript 엔진으로 빌드 된 JavaScript 런타임(프로그래밍 언어가 구동되는 환경)이다. 즉 노드를 통해 다양한 자바스크립트 애플리케이션을 실행할 수 있으며, 서버를 실행하는 데 제일 많이 사용된다.즉, 스크립트 언어가 아닌 환경이다. JavaScript는 독립적인 언어가 아닌 스크립트 언어(응용 프로그램에 삽입되어 제어하는 프로그래밍 언어. JavaScript는 표준 HTML 문서 내에 삽입되어 사용된다.)이기 때문에, 웹 브라우저 프로그램 안에서만 동작을 한다. 그러나 Node.js를 설치하면 JavaScript가 웹 브라우저에서 독립되어 그와 무관한 프로그램을 만들 수 있게 된다. 그리고 서버를 만드는 것이 Node.js를 사용하는 주된 이유다. 싱글 스레드, 비동기 처리를 기반으로 하는 Node.js는 CPU 부하는 적지만 개수가 많은 데이터를 실시간으로 주고 받는 데 적합하다. 즉, I/O 작업이 많은 서버에 적합하다. 네트워크, 데이터베이스, 디스크 작업, 채팅, 주식 차트 등이 있다.
TypeScript를 기반으로 구축되었으며, Express와 같은 HTTP Server 프레임워크를 사용하며 선택적으로 Fastify도 사용할 수 있다.
*Express: 웹 및 모바일 애플리케이션을 위한 일련의 강력한 기능을 제공하는 간결하고 유연한 Node.js 웹 애플리케이션 프레임워크다. 사실상 Node.js의 표준 웹서버 프레임워크로 불린다. Express에는 웹 애플리케이션을 만들기 위한 각종 라이브러리와 미들웨어 등이 내장돼 있어 개발하기 편하고, 수많은 개발자들에게 개발 규칙을 강제하여 코드 및 구조의 통일성을 향상시킬 수 있다.
**Express와 Nest.js의 차이점: 아키텍쳐의 정의를 프레임워크에서 제공하기 때문에 Express보다 각 개발자들의 아키텍쳐가 통일되고, 구조를 쉽게 파악할 수 있다는 장점이 있다.
'Programming > Nest.js' 카테고리의 다른 글
[Nest.js] API 만들어 보기(유저 등록) (0) | 2022.12.19 |
---|---|
[Nest.js 기초] 설치와 controller (0) | 2022.12.16 |
댓글