NestJS는 Express와 Fastify를 기본 HTTP 플랫폼으로 지원

Express vs Fastify: 차이점

특징ExpressFastify
기본 플랫폼Node.js 생태계에서 가장 널리 사용되는 웹 프레임워크고성능과 확장성을 목표로 설계된 웹 프레임워크
성능상대적으로 느림매우 빠름 (Express보다 더 나은 요청 처리 성능)
미들웨어다양한 미들웨어와 플러그인이 존재제한된 미들웨어, 하지만 플러그인 생태계가 있음
커뮤니티방대한 커뮤니티와 자료작지만 성장 중인 커뮤니티
확장성간단하지만, 성능에 최적화되지는 않음비동기 기반으로 설계, 확장성 뛰어남
사용성직관적이며 범용적조금 더 복잡하지만, 고성능 애플리케이션에 적합

Fastify로 전환할 때 주의점

  1. 미들웨어 호환성

    • Express 미들웨어는 Fastify와 호환되지 않습니다.
    • Fastify 전용 플러그인(예: fastify-cors, fastify-helmet)을 사용해야 합니다.
  2. Request/Response 객체

    • Fastify에서는 Express와 달리 요청 및 응답 객체의 구조가 다릅니다.
    • 예: req.body, req.params 등이 Express와 다르게 동작할 수 있습니다.
  3. 에코시스템

    • Express는 방대한 생태계를 가지고 있지만, Fastify는 아직 상대적으로 적은 플러그인을 지원합니다.