Express, Koa, fastify 각각의 특징

Seung min, Yoo·2021년 8월 12일
0

1. Express

  • 프레임워크 점유율 1위
  • 정보가 많고 이용자도 많다
  • 속도가 느려 고성능(하이 퍼포먼스)을 요구하는 개발에 부적합
  • Js의 비동기 처리 기능, 제너레이터(Generator)함수, async/await에 대응하지 않아 수정이 필요
    코딩기록

제너레이터 함수란?
ES6에 도입된 제너레이터(Generator)함수는 이터러블을 생성하는 함수이다. 제너레이터 함수를 사용하면 이터레이션 프로토콜을 준수해 이터러블을 생성하는 방식보다 간편하게 이터러블을 구현하 ㄹ수 있다. 또한 제너레이터 함수는 비동기 처리에 유용하게 사용한다.
https://poiemaweb.com/es6-generator

이터러블 및 이터러블 프로토콜이란?
이터러블 프로토콜을 준수한 객체를 이터러블이라 한다. 이터러블은 Symble.iterator 메소들르 구현하거나 프로토타입 체인에 의해 상속한 객체를 말한다.
Symbol.iterator 메소드는 이터레이터를 반환한다. 이터러블은 for...of문에서 순회할 수 있으며 Spread 문법의 대상으로 사용할 수 있다.
배열은 Symbol.iterator 메소드를 소유한다. 따라서 배열은 이터러블 프로토콜을 준수한 이터러블이다.
https://poiemaweb.com/es6-iteration-for-of


2. Koa

  • Node.js에서 가장 인기있던 웹 프레임워크인 Express.js의 개발팀이 만든 웹프레임워크이다.
  • Express와의 큰 차이는 Koa는 훨씬 가볍고(속도가 빠르다) Node.js v7의 async/await기능을 아주 편하게 사용할 수 있다.
  • Fastify보다 점유율이 높다.
  • v1에서 제너레이터 함수, v2에서 async/await를 지원하고 Express보다 모던(현대적인)한 개발 환경을 지원.
    코딩기록
    velopert

3. Fastify

  • 프레임워크 중 성능이 가장 높음
  • 점유율이 낮고 정보가 적다.
  • async/await기능 대응
  • JSON Schema에 의한 검증 기능이 있다.
  • 퍼포먼스(성능)를 강조하다보니 비교적 세밀한 기능이 있다.
    코딩기록

이 이외에 각 프레임워크의 자세한 비교

프레임워크의 각 성능에 대한 비교는 아래의 주소에 자세히 정리되어 있음으로 가보면 도움이 될 것 같다.
코딩기록


참조

1.코딩기록
2.https://poiemaweb.com/es6-generator
3.https://poiemaweb.com/es6-iteration-for-of
4.velopert

profile
이제 막 개발을 시작한 프로그래밍 입문자

0개의 댓글