1. Express.js
- 신속한 서버 측 프로그래밍 패키지⇒ 웹 어플리케이션 서버를 빠르게 구현하기에 최적화
- 많은 node.js 기능이 포함되어 있어서 몇줄의 코드로 속도를 높인다.
- 고성능
- 비동기 프로그래밍으로 여러 작업을 독립적으로 실행
- 많은 HTTP도우미
- 프로그램을 더 이해하기 쉽고 재사용 가능하게 만듦
- 더 나은 콘텐츠 협상
- URL에 HTTP헤더를 제공해 서버와 클라이언트간 더 나은 소통을 도움.
- MVC 아키텍쳐 패턴 ( Model-View-Controller )
- 구조에 대한 자유도 높음
사용해야 하는 이유
- API생성을 위한 기반을 쉽게 사용할 수 있어 빠른 개발이 가능
- 강력한 라우팅, 템플릿, 보안 기능, 및 오류 처리 조항
2. Koa
- 스택같은 방법으로 HTTP 미들웨어를 효율적으로 처리할 수 있다.
미들웨어 : 클라이언트에게 요청이 오고 그 요청을 보내기 위해 응답하려는 중간(미들)에 목적에 맞게 처리를 하는, 말하자면 거쳐가는 함수들
- 노드 결함을 좋은 방향으로 정규화함
- 다양한 이미지 형식, 페이지 번역 등 다양한 형식의 콘텐츠를 동일한 url로 유지
- 더 적은 복잡성과 자유성으로 express를 사용 가능
특징
- express경량버전
- 예외적으로 오류 처리
- 노드 불일치를 깔끔하게 정상화하고 코드 유지 관리에 도움
- 캐시 정리, 프록시 및 콘텐츠 협상 지원
사용해야 하는 이유
- 고성능 프로젝트
- but 초보자에게 어려울 수 있음
3. Nest.js
- 타입스크립트 지원
- controller, service, module 클래스들은 각각 역할을 가지고 있다. middleware, guard, filter 등의 클래스들 또한 다 그들의 역할을 가지고 있다. IoC와 DI 같은 디자인 패턴들을 도입해서 그것들에 맞추지 않으면 개발하기 힘든 구조
- 따라서 통일성이 높음
- 객체 지향과 기능적 반응 프로그래밍(FRP)의 최고의 조합
- 모듈(비슷한 기능 및 개념들을 한 곳에 담아 캡슐화) 클래스 지원
사용해야 하는 이유
- 타입스크립트 사용
- 깨끗하고 모듈화되도록 유지
But,
- 문서가 충분하지 않음.
- 대규모 조직의 지원이 부족.
4. Sails.js
- Ruby on Rails와 같은 프레임워크의 실시간 MVC 아키텍처 패턴과 유사
- but, 최신의 데이터 중심 스타일의 웹 앱 및 api개발을 지원한다는 점이 다름.
- 데이터 지향 개발지원
- 경량 프레임워크는 HTTP 요청에는 Express를 사용하고 WebSocket에는 Socket.io를 사용
- 모든 DB와 호환되며 JS 프레임워크 통합에 유연
특징
- REST API 자동 생성
- 재사용 가능한 보안 정책
- 프론트엔드 불가지론
- DB 프레임워크 호환성을 위한 ORM
- ORM(Object-relational mapping): 객체 지향 언어에서 사용할 수 있는 "가상" 객체 데이터베이스를 구축하는 방법
사용해야 하는 이유
- 맞춤형 채팅 애플리케이션
- Socket.io와 뛰어난 호환성을 제공하므로 게임 및 소셜 미디어 앱에 적합
[참고]
https://www.simform.com/best-nodejs-frameworks/#Express
https://www.uplers.com/blog/top-10-nodejs-frameworks-front-end-development/
https://dora-guide.com/nodejs-net-framework/
node.js 미들웨어 : https://psyhm.tistory.com/8
'개발몰입과정 개념스터디 > 1차' 카테고리의 다른 글
REST API란? (0) | 2022.02.04 |
---|---|
프레임워크 vs 라이브러리 (0) | 2022.02.04 |
정적 타입 언어 vs 동적 타입 언어 (0) | 2022.02.04 |
NPM과 Yarn (0) | 2022.02.04 |
Node.js란? (0) | 2022.02.04 |