NESTJS

현종's Dev·2023년 8월 27일
0
post-custom-banner

EXPRESS

간단하고 유연한 Node.js의 프레임워크 , 미들웨어를 기반으로 하며, 라우팅과 기능은 주로 미들웨어를 통해 처리된다. 설정이 적고, 커뮤니티와 라이브러리 지원이 풍족하다.

  • 단점 : 아키텍처가 없다 -> 스스로 디렉토리 구조나 아키텍처를 설정해야한다.

Nestjs

효율적이고 확장 가능한 Node.js 서버 측 애플리케이션을 구축하기 위한 프레임워크 , Typescript로 구축되어 완벽하게 지원하며, OOP,FP 요소를 결합한다.
내부적으로는 Nestjs는 Express와 같은 강력한 HTTP 서버 프레임워크를 사용하면 선택적으로 Fastify도 사용이 가능하다.

  • Nestjs는 미리 정의된 아키텍처와 디렉토리 구조를 사용
  • Typescript 지원
  • 데코레이터와 메타 프로그래밍
    • 클래스, 메소드, 속성 등을 위한 다양한 데코레이터 제공
  • DI 컨테이너 저장
    • Dependency Injection(DI)가 내장되어 있어 테스트와 개발이 쉽다.
  • 모듈화
    • 기능별로 모듈을 나눌 수 있어 대규모 애플리케이션 개발에 유리하다.

장점

1.확장성 : 모듈화된 아키텍처 덕분에 대규모 프로젝트에 적합
2.SOLID 원칙 적용하기 쉽다.
3.테스트 용이성 : DI 컨테이너와 모듈화로 인해 단위테스트와 통합테스트가 쉽다.

단점

  1. 추상화 : 많은 추상화와 데코레이터가 코드의 복잡성을 증가시킨다.
  2. 무거움 : 많은 기능과 구조로 인해 무겁다. 작은 프로젝트에서는 오버헤드가 된다.

REFERENCE

  • nestjs 공식문서
profile
Dev, Back
post-custom-banner

0개의 댓글