Koa vs Express

zioo·2021년 11월 28일
0

Node.js의 웹프레임워크

Express


장점

  • Node.js 웹 미들웨어의 표준
  • 프레임워크 중 점유율 1위
  • 간단, 최소화, 스케일에 자유로움
  • 빠른 앱 개발
  • 브라우저에 주로 집중되어있으며, 템플릿이나 렌더링 기능을 거의 즉시 사용가능

단점

  • 코드를 유지할 때 문제가 발생하지 않으려면 구조가 매우 명확해야한다
  • 코드 사이즈가 증가할 수록 리팩토링이 어렵다
    (refactoring : 결과의 변경 없이 코드의 구조를 재조정)
  • 모든 엔드 포인트를 생성해야한다

Koa


  • express의 기존 개발팀이 개발한 프레임워크
  • 미들웨어 기능만 갖추고 있으며 나머지는 다른 라이브러리를 적용하여 사용한다.
  • async / await 문법을 정식으로 지원하기 때문에 비동기 작업을 더 편하게 관리할 수 있다.

express는 미들웨어, 라우팅, 템플릿, 파일 호스팅 등과 같은 기능이 자체적으로 내장되어 있다.
그래서 express가 koa보다 무겁다.

장점

  • Express를 만든 팀이 2016년도에 만듦

  • 기존 콜백(Callback) 방식을 버리고 async 기능을 활용해 오류 처리를 개선

  • 내장 미들웨어가 번들되어있지 않는 등 기본적으로 설계된 뼈대가 적지만 탄탄함(경량화)

  • 미들웨어를 붙이는 등 커스터마이징이 자유로움

  • async/await 기능을 편하게 사용 가능

  • 보안을 위한 다양한 미들웨어나 헤더가 준비되어 있음


이외의 node.js 프레임 워크 특징

Loopback

  • REST API 프레임워크의 대표
  • 확장성이 뛰어난 모듈러 프레임워크
  • API를 쉽고 빠르게 작성할 수 있도록 고안
  • 사용자 인증 및 권한 작성에 적합
  • 주요 특징: REST API생성, API 탐색

Fastify

  • 프레임워크 중 성능이 가장 높음
  • 점유율이 낮고 정보도 적지만, 성능이 가장 좋고, async/await도 대응한다.
  • JSON Schema에 의한 검증 기능도 있고, 퍼포먼스(성능)을 강조해 세밀한 기능이 많음

Meteor

  • 표준화와 즉시 사용가능함을 철학으로 삼는다
  • 서버, 모바일, 웹, 데스크톱 응용프로그램을 구축하는데 필요한 통합 도구를 제공
  • Angular 또는 React와 통합되어 백 엔드와 프론트 엔드의 응용프로그램을 연결
  • 주요 특징: 데이터 동기화, 즉시 사용 가능한 통합, 빌드 자동화

0개의 댓글