본문 바로가기

[NestJS]

[NestJS] - 1편 (NestJS란?)

반응형

NestJS - 1편 (NestJS란?)

  • 리액트에 Next.js가 있고 Vue.js에 Nuxt.js가 있다면 NestJS는 Node.js 기반 백엔드 프레임워크이다.
  • 기본적으로 Express 또는 Fastify 프레임워크를 기반으로 동작하며, 기본 설정은 Express이다.
  • 데이터베이스, ORM, 설정, 유효성 검사 등 수 많은 기본 기능을 기본으로 제공하고 으며 필요한 라이브러리를 쉽게 설치하여 확장가능한 Node.js의 장점은 그대로 가지고 있다.
  • Augular로부터 영향을 많이 받아 모듈/컴포넌트 기반으로 프로그램을 작성함으로써 코드 재사용성을 높여준다.
  • IoC(제어역전), DI(의존성 주입), AOP(관점 지향 프로그래밍)와 같은 객체지향 개념을 도입하였다.
  • TypeScript를 기본으로 채택하고 있다.

Express vs NestJS

구분 Express NestJS
유연함, 확장성 빠르고 가벼운 실행 가능, 단순하고 높은 자유도 but 맞는 라이브러리를 찾아 설치해야함 미들웨어, IoC, CQRS 등 이미 많은 기능을 프레임워크 자체에 포함. 사용자 문서 가이드 제공
Typescript 추가 설정 필요 기본 설정되어있음.
커뮤니티 가장 큼 늘어나는 중

NodeJS 기반 웹 프레임워크라면 갖춰야 할 필수 기능은

  • 최신 Ecma Script 지원
  • Typescript (선택사항이나 사용 추세가 계속 늘어나고 있음)
  • CORS
  • HTTP 헤더 보안 (Express는 helmet을 사용)
  • Configuration
  • Interceptor
  • Middleware
  • Scheduling
  • Logging
  • Testing
  • Swagger 문서화
  • ORM
    등이 있다.

결론! Express 사용시 매우 기본 기능만 제공하므로 백엔드가 갖춰야 할 필수 기능들을 고민하고 라이브러리 추가해주는 작업에 시간이 소요되는데, NestJS가 이를 어느정도 보완해준다.

참조 : NestJS로 배우는 백엔드 프로그래밍

반응형