반응형
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로 배우는 백엔드 프로그래밍
반응형
'[NestJS]' 카테고리의 다른 글
[NestJS] - 6편 (DB연결하기 TypeORM 트랜잭션 마이그레이션) (0) | 2022.04.21 |
---|---|
[NestJS] - 5편 (파이프) (0) | 2022.04.20 |
[NestJS] - 4편 (모듈~config파일) (0) | 2022.04.20 |
[NestJS] - 3편 (프로바이더) (0) | 2022.04.19 |
[NestJS] - 2편 (설치~인터페이스) (0) | 2022.04.18 |