NestJS는 Express와 Fastify를 기본 HTTP 플랫폼으로 지원
Express vs Fastify: 차이점
특징 | Express | Fastify |
---|---|---|
기본 플랫폼 | Node.js 생태계에서 가장 널리 사용되는 웹 프레임워크 | 고성능과 확장성을 목표로 설계된 웹 프레임워크 |
성능 | 상대적으로 느림 | 매우 빠름 (Express보다 더 나은 요청 처리 성능) |
미들웨어 | 다양한 미들웨어와 플러그인이 존재 | 제한된 미들웨어, 하지만 플러그인 생태계가 있음 |
커뮤니티 | 방대한 커뮤니티와 자료 | 작지만 성장 중인 커뮤니티 |
확장성 | 간단하지만, 성능에 최적화되지는 않음 | 비동기 기반으로 설계, 확장성 뛰어남 |
사용성 | 직관적이며 범용적 | 조금 더 복잡하지만, 고성능 애플리케이션에 적합 |
Fastify로 전환할 때 주의점
-
미들웨어 호환성
- Express 미들웨어는 Fastify와 호환되지 않습니다.
- Fastify 전용 플러그인(예:
fastify-cors
,fastify-helmet
)을 사용해야 합니다.
-
Request/Response 객체
- Fastify에서는 Express와 달리 요청 및 응답 객체의 구조가 다릅니다.
- 예:
req.body
,req.params
등이 Express와 다르게 동작할 수 있습니다.
-
에코시스템
- Express는 방대한 생태계를 가지고 있지만, Fastify는 아직 상대적으로 적은 플러그인을 지원합니다.