티스토리 뷰

728x90
반응형

목차

     

    지난 글에선 NestJS와 그 특징, 장/단점에 대해 알아보았다.

     

    이번 글에선 Express.js와 Fastify를 간단히 비교한 뒤, 기본적인 설치까지 진행해 보겠다.

     

    Express.js

     

    Express.js는 Node.js의 웹 애플리케이션 개발을 위한 가장 인기 있는 프레임워크다.

     

    2010년에 처음 출시된 이후, Express는 그 간결함과 유연성으로 많은 개발자들에게 선택되어 왔다.

     

    Express.js의 주요 특징을 정리하면 다음과 같다.

     

    • 간결하고 유연한 라우팅
      Express는 REST API를 쉽게 구축할 수 있게 해 주며, URL 경로와 HTTP 메서드를 기반으로 하는 강력한 라우팅 시스템을 제공한다.
    • 다양한 미들웨어 지원
      Express의 강력한 미들웨어 생태계는 로깅, 요청 본문 파싱, 쿠키 처리 등 다양한 기능을 애플리케이션에 쉽게 통합할 수 있게 해 준다.
    • 커스터마이징 및 확장성
      Express는 매우 유연하며, 필요에 따라 다양한 확장 기능을 추가할 수 있다.
    • 큰 커뮤니티 및 문서
      Express는 방대한 커뮤니티와 잘 정리된 문서를 갖고 있어, 학습 자료와 지원이 풍부하다.

     

    Fastify

     

    Fastify는 2017년에 처음 등장한 상대적으로 새로운 프레임워크이다.

     

    Fastify의 목표는 Express의 간결함을 유지하면서도 훨씬 빠른 성능을 제공하는 것이며, 주요 특징은 다음과 같다.

     

    • 빠른 성능
      Fastify는 최적화된 코드와 빠른 JSON 직렬화로 인해 Express보다 높은 성능을 제공한다.
    • 스키마 기반의 요청 및 응답 검증
      Fastify는 JSON Schema를 사용하여 요청 및 응답을 검증하며, 이는 API를 더 안전하고 신뢰할 수 있게 만들어 준다.
    • 내장된 직렬화 및 검증 도구
      기본적으로 내장된 데이터 직렬화 및 검증 도구를 제공하며, 이를 통해 별도의 플러그인 없이도 효율적인 API 구축이 가능하다.
    • 플러그인 시스템
      Fastify는 플러그인을 통해 기능을 확장할 수 있으며, 이를 통해 커뮤니티에서 제공하는 다양한 추가 기능을 활용할 수 있다.

     

    Express.js vs. Fastify

     

    계속해서 두 프레임워크를 비교해 보자.

     

    • 성능
      Fastify는 Express보다 향상된 성능을 제공한다. 특히 JSON 처리와 관련된 작업에서 더 빠른 처리 속도를 보인다.
    • 유연성 및 확장성
      Express는 그 유연성과 미들웨어를 통한 확장성으로 유명하다.
      반면, Fastify는 성능 최적화와 함께 스키마 기반의 검증 기능을 제공하여 API 개발의 안전성을 높일 수 있다.
    • 커뮤니티 및 지원
      Express는 오랜 역사와 커다란 커뮤니티를 가지고 있어, 다양한 문제에 대한 해결책을 쉽게 찾을 수 있다.
      Fastify도 성장하고 있지만, Express만큼의 커뮤니티 크기는 아직 가지고 있지 않다.
    • 학습 곡선
      Express는 매우 직관적이고 간결하여 새로운 사용자가 쉽게 접근할 수 있다.
      Fastify도 사용하기 쉬운 편이지만, Express에 비해 상대적으로 적은 자료와 예제가 있어 학습 곡선이 조금 더 가파르다.

    요약하자면 두 프레임워크 모두 NestJS와 잘 통합되며 성능의 Fastify, 커뮤니티의 Express라고 할 수 있다.

     

    나는 지난번 글에서 Express.js를 이용해 개발 연습을 진행했으므로 이번엔 Fastify를 잡기로 결정했다.

     

    Fastify에 멘탈을 탈탈 털린 후 일단 Express.js를 이용해 게시판 만들기를 진행하기로 했다.

     

    Hello World!

     

    끝으로 기본적인 설치 및 환경 구성을 간결하게 알아보자.

     

    이 글에서는 기본적으로 node.js와 npm이 설치되어 있다고 가정한다.

     

    터미널에 다음과 같이 입력해 NestJS를 설치한다.

    npm install -g @nestjs/cli

    이어서 다음과 같이 입력해 Fastify를 설치해 준다.

    npm install @nestjs/platform-fastify

    계속해서 다음과 같이 입력하면,

    nest new nest_practice

    짠. 이렇게 구성된 프로젝트가 자동으로 생성된다.

     

    다음으로 해당 폴더에서 터미널을 열고

     

    npm install

    을 입력해 필요한 종속성을 모두 설치한다.

     

    이어서 main.ts 파일을 아래와 같이 수정하면 메인 코드를 실행시키고 localhost:3000으로 접근하면

     

    짠. 위 사진과 같이 매우 간단하게 Hello World! 를 볼 수 있다.

     

    여기까지 하면 기본적인 설치와 환경 설정은 끝이다.

     

    다음 글부터는 늘 하던 대로 게시판을 한 땀 한 땀 만들어갈 예정이다.

     

    끝!

    반응형
    댓글
    공지사항
    최근에 올라온 글
    최근에 달린 댓글
    Total
    Today
    Yesterday
    링크
    «   2024/06   »
    1
    2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    16 17 18 19 20 21 22
    23 24 25 26 27 28 29
    30
    글 보관함