Nest.js

SSAD·2023년 2월 17일
0

BackEnd

목록 보기
28/44
post-thumbnail

Nest.js

TypeScript(타입 스크립트)를 지원하는 효율적이고 확장 가능한 Node.js의 서버 애플리케이션 프레임워크

Nest.js 특징

  • nodejs 서버 애플리케이션을 구축하기 위한 프레임워크
  • 서버 애플리케이션 개발시 필요한 많은 부분들을 기본적으로 제공
  • Express 기반으로 만들어짐
  • Typescript를 사용
  • 다음 요소를 포함
    - OOP - 객체지향 프로그래밍
    - FP - Functional 프로그래밍
    - FRP - Functional React 프로그래밍
  • Nest는 외부 모듈을 자유롭게 이용
  • Nest는 unit 테스트와 e2e 테스트를 할 수 있는 툴을 제공

효율성

  • 즉시 사용 가능한 애플리케이션 아키텍쳐
  • TypeScript 기반의 프레임워크
  • Dependency Injection(의존성 주입)
  • Inversion of Control(제어의 역전)
  • Module화

안전성

  • 독립적인 Unit Test를 쉽게 작성 가능하도록 구현되어 있음

확장성

  • Module Class를 지원
  • 비슷한 기능과 개념들을 Class 한곳에 담아 캡슐화
  • 느슨한 결합(Loose Coupling)을 가능하게 함

Why is NestJS?

Nest의 탄생배경

Nodejs로 인해 javascript를 이용한 풀스택(클라이언트+서버) 개발이 활발
javascript라는 한가지 언어로 개발을 하기 때문에 생산성을 향상시키고 빠른 개발이 가능

Node.js의 높은 자유도로 인해 Architecture 구성이 어렵고 효과적이지 못했음
이를 해결하기 위해 Angular의 아키텍처 사상을 기반으로 Nest가 만들어짐

Nest를 사용하면 좋은 점

  • Nest는 Java의 Spring과 같이 규칙을 제공

  • 개발자들이 아키텍처의 구성에 대해 고민해야 할 부분이 많이 줄어듬

  • 기본적으로 제공하는 라우팅, 보안등의 기능이 많이 탑재되어 있어 편리

  • 외부모듈을 통한 확장이 얼마든지 가능

  • Java+Spring 사용자라면 아키텍처 구조가 비슷해서 쉽게 배울 수 있음

  • Angular 사용자라면 기본적인 사용법이 동일하므로 쉽게 배울 수 있음

profile
learn !

0개의 댓글