NestJS란?
JavaScript 기반 백엔드 프레임워크 Nest(NestJs)는 효율적이고 확장 가능한 Node.js 서버 측 애플리케이션을 구축하기위한 프레임워크이다.
왜 Nest JS인가..?
1. 프로그레시브 JavaScript를 사용하고 TypeScript로 빌드를 완벽하게 지원 (개발자가 순수 JavaScript로 코딩할 수 있음)
2. OOP(Object Oriented Programming), FP(Functional Programming), FRP(Functional Reactive Programming) 요소를 사용할 수 있게 해줌.
3. Nest JS는 내부적으로 Express (기본값)와 같은 강력한 HTTP 서버 프레임 워크를 사용
4. 개발자가 선택적으로 Fastify를 사용하도록 구성할 수도 있음.
5. Nest는 이러한 공통 Node.js 프레임 워크 (Express / Fastify) 위에 추상화 수준을 제공하지만 API를 개발자에게 직접 노출 (이를 통해 개발자는 기본 플랫폼에서 사용할 수 있는 수많은 타사 모듈을 자유롭게 사용할 수 있음)
6. Swagger와 같은 API 문서 자동화도구를 테스트할 수 있는 GUI를 제공
7. 데코레이터를 잘 사용하면 적절하게 관심사를 분리하여 관점 지향 프로그래밍을 적용한 코드를 작성가능
8. Nest JS의 철학은 Node(및 서버측 JavaScript)를 위한 훌륭한 라이브러리, 도우미 및 도구가 많이 존재하지만 이들 중 어느것도 아키텍처의 주요 문제를 효과적으로 해결하지 못함 이를 해결하는 것이 Nest JS의 철학.
9. Nest는 개발자 및 프로젝트 팀이 고도로 테스트 가능하고 확장가능하며 느슨하게 결합되고 유지관리가 쉬운 애플리케이션을 만들 수 있는 즉시 사용 가능한 애플리케이션 아키텍처를 제공 (이 아키텍처는 Angular에서 크게 영감을 받음)
10. 구조화된 아키텍처 ( NestJS는 코드를 거시적인 관점에서 Provider, Controller, Module로 분리하며 이런 작은 컴포넌트들끼리의 조합(DI)을 통해 전체 애플리케이션을 완성 )
'개발 프레임워크 > NestJS' 카테고리의 다른 글
[NestJS] Swagger(스웨거)란? (0) | 2023.02.06 |
---|---|
[NestJS] Typescript(타입스크립트) (0) | 2023.02.05 |
[NestJS] 모듈, 컨트롤러, 서비스(Controller, Module, Service) (0) | 2023.02.05 |
[NestJS] NestJS 실행 및 테스트 명령어 (0) | 2023.02.05 |
[NestJS] NestJS 설치 시 있는 파일? (0) | 2023.02.05 |
댓글