본문 바로가기
개발 프레임워크/NestJS

[NestJS] NestJS 사용 이유(Why NestJS)?

by minhyeok.lee 2023. 2. 5.
반응형

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)을 통해 전체 애플리케이션을 완성 )

반응형

댓글