Nest.js
Nest.js vs Express.js(Nest.js)
주병현
2023. 3. 7. 17:52
개요
- 다음은 각 장점들만 모아놓은 표입니다.
- https://docs.google.com/spreadsheets/d/1ilX7k_h7Iwb-TzrccCchBYJ4P-WG-6RfwGUeXidZLKE/edit#gid=0
만족도
- NestJS 사용자들의 만족도는 다른 프레임워크에 비해 크게 차이가 나지 않는 것을 볼 수 있습니다. 개인적으로 다른 프레임워크는 접해보지 못했고 Express만 잠시 써 봤는데요, NestJS로 개발하는 것이 생산성이 더 좋고 모듈화가 편했습니다
인지도
- 인기 있는 Express를 사용하는 것이 나은 선택일 수도 있지만 상용 제품을 만들기까지 시간이 오래 걸릴 수도 있습니다. NestJS는 백엔드 서버가 갖추어야 하는 많은 필수 기능을 프레임워크 내에 내장하고 있고 추가로 필요한 기능을 설치하고 적용하는 방법을 문서로 제공합니다. 또한 DI, IoC를 채용하여 객체지향 프로그래밍과 모듈화를 쉽게 할 수 있습니다. Express를 사용한다면 이 모든 것들을 npm에서 찾아서 검토하는 과정이 필요합니다. 필요한 기능들을 하나씩 검토하고 선택하는 노력도 무시할 수 없습니다.
Node.js 기반 웹 프레임워크가 갖춰야 할 필수 기능이라면 다음과 같은 것들이 있습니다.
- 최신 Ecma Script 지원
- Typescript (선택사항이나 사용 추세가 계속 늘어나고 있음)
- CORS
- HTTP 헤더 보안 (Express는 helmet을 사용)
- Configuration
- Interceptor
- Middleware
- Scheduling
- Logging
- Testing
- Swagger 문서화
- ORM
NestJS 깃허브에는 PR이 제출될 때마다 Express, Fastify와의 성능을 벤치마크해서 제시하고 있습니다.
가장 큰 이유
- Express는 2019년 5월 26일 최근 4.17.2, 4.17.3 버전을 업데이트하였지만 그전까지 몇 년간 개발이 정체되어 있었습니다. 5.0을 준비하고 있기 때문일 수도 있고, 매우 안정적인 프레임워크라서 문제없이 운용되고 있는 것의 반증이라고 볼 수 있지만 최신 트렌드를 따라가지 못한다는 우려가 있는 것도 사실입니다. NestJS는 꾸준히 발전하고 있습니다. 2022년 3월에 version 8.4.0을 릴리스하였고 깃허브를 통해 커뮤니케이션도 활발히 하고 있습니다.
요약
- 만족
- NestJS 사용자의 만족도는 다른 프레임워크와 비슷합니다.
- NestJS는 Express보다 생산적이고 모듈식입니다.
- 의식
- NestJS에는 문서, DI 및 IoC를 포함하여 백엔드 서버의 필수 기능이 있습니다.
- Express는 인기가 있지만 상용 제품을 생산하는 데 시간이 더 오래 걸릴 수 있습니다.
- NestJS는 더 나은 문서를 가지고 있으며 Express와 같은 기능을 수동으로 선택할 필요가 없습니다.
- 특징
- Node.js 기반 웹 프레임워크의 필수 기능에는 최신 Ecma 스크립트 지원, Typescript, CORS, HTTP 헤더 보안, 구성, 인터셉터, 미들웨어, 예약, 로깅, 테스트, Swagger 문서 및 ORM이 포함됩니다.
- NestJS 및 Express의 성능은 벤치마킹되어 NestJS Github에 제출된 각 PR과 함께 제공됩니다.
- 진화
- Express의 개발은 2019년 5월에 버전 4.17.2 및 4.17.3으로 업데이트되기까지 몇 년 동안 중단되었습니다.
- NestJS는 2022년 3월에 버전 8.4.0이 출시되어 지속적으로 발전하고 있습니다.
- NestJS는 Github를 통해 활발한 커뮤니케이션을 하고 있습니다.
참고사이트