Nest(NestJS)는 효율적이고 확장 가능한 Node.js 서버 측 애플리케이션을 구축하기 위한 프레임워크입니다 . 이는 프로그레시브 JavaScript를 사용하고 TypeScript 로 구축되어 완벽하게 지원하며(아직도 개발자가 순수 JavaScript로 코딩할 수 있음) OOP(객체 지향 프로그래밍), FP(기능 프로그래밍) 및 FRP(기능 반응 프로그래밍) 요소를 결합합니다.
내부적으로 Nest는 Express (기본값) 와 같은 강력한 HTTP 서버 프레임워크를 사용하며 선택적으로 Fastify 도 사용하도록 구성할 수 있습니다!
Nest는 이러한 일반적인 Node.js 프레임워크(Express/Fastify)보다 높은 수준의 추상화를 제공하지만 해당 API를 개발자에게 직접 공개합니다. 이를 통해 개발자는 기본 플랫폼에서 사용할 수 있는 수많은 타사 모듈을 자유롭게 사용할 수 있습니다.
개발자 생산성을 향상하고 빠르고 테스트 가능하며 확장 가능한 프론트엔드 애플리케이션을 생성할 수 있는 Angular, React 및 Vue가 존재하지만 서버측 JavaScript를 위한 아키텍처의 주요 문제를 효과적으로 해결하는 프레임워크는 존재하지 않다는 것입니다. 그래서 Nest라는 프레임워크가 개발되었고, Nest는 개발자와 팀이 고도로 테스트 가능하고 확장 가능하며 느슨하게 결합되고 유지 관리가 쉬운 애플리케이션을 만들 수 있는 즉시 사용 가능한 애플리케이션 아키텍처를 제공합니다. (Angular에서 많은 영감을 받음)
Nest 커뮤니티
NestJS Korea: https://nestjskorea.slack.com/join/shared_invite/zt-1i1rac8s3-EOHU_8SKjNsgtoeHtnS1Hg#/shared-invite/email
NestJs Korea 카카오톡 오픈 채팅방: https://open.kakao.com/o/ggLiN79c
요약하자면 Nest는 Express에 비해 구조화, 모듈화, TypeScript 네이티브 지원, 데코레이터 및 메타데이터, 의존성 주입, 테스트 용이성, 강력한 생태계 및 성능 측면으로 많은 장점을 가지고 있습니다. 작은 프로젝트나, 간단한 API에서는 Express가 유용할 수 있지만, 더 복잡하고 확장 가능한 애플리케이션을 개발은 Nest와 같은 구조화된 프레임워크가 매우 유용합니다.
이러한 이유로 우리는 복잡하고 확장 가능한 애플리케이션을 개발할 때 Nest를 선택하는 것은 매우 현명한 선택으로 보여집니다.!!