728x90
NestJS
Express는 웹 및 모바일 애플리케이션을 위한 기능을 제공하는 간결하고 유연한
Node.js 웹 애플리케이션 프레임워크
Nest.js 요새 가장 핫한 웹 프레임워크
NestJS가 주목받는 이유
Express의 아쉬운 점
- 사용하고 싶은 미들웨어가 있다면 미들웨어마다 선언 해줘야 함
- Express로 레이어드 아키텍처 패턴을 나타내기 위해서는 디렉토리 구조를 명확하게 설계해야 하며 서비스 요구사항 변경 및 기획이 추가됨에 따라서 필요한 개념들을 새롭게 추가해야 함
- Express도 워낙에 알려진 지 오래다 보니 express-generator와 같은 CLI 툴도 제공하고 많은 개발자가 자체적으로 boilerplate를 만들어서 오픈소스로 공개하기도 함. 하지만, 이러한 boilerplate도 공식적으로 인정되는 것은 아니며 필요한 개발자들이 입맛에 맞게 사용할 수 있어야 함.
NestJS등장
NestJS는 타입스크립트 & 커맨드 기반 웹 프레임워크
NestJS는 타입스크립트 기반의 웹 프레임워크이기 때문에 자바스크립트에 비해서 보다 엄격한 타입 체크를 함으로써 여러 예외 상황을 사전에 방지
레이어드 아키텍처 패턴을 구성할 때 NestJS는 커맨드 하나로 간편하게 대부분의 구성요소를 구현할 수 있습니다. 예를 들면, Posts 컨트롤러를 만들려고 하면 다음과 같은 커맨드를 사용하면 됩니다.
(g는 generate의 약어이며 co는 controller의 약어)
nest g co posts
컨트롤러뿐 아니라 서비스, 미들웨어와 인터셉터 등 웹 서버에 필요한 다양한 구성요소를 커맨드로 정확하게 구현할 수 있다는 것은 NestJS만의 엄청난 장점!! 왜냐하면 개발자가 실수하고 싶어도 NestJS가 기계적으로 구성한 바탕 위에서 실수하기가 힘들기 때문. 프로젝트 디렉토리 구조도 알아서 해줌
이런 게 지원이 되면 좋은 것이 또 하나가 있습니다. 바로, 개발자가 비지니스 로직. 즉, 웹 서버의 핵심 로직 구현에만 신경쓰고 그 외에 다른 부분들은 NestJS에 일임을 하면 되는 것입니다.
따라서 비지니스 로직의 퀄리티가 향상될 가능성이 커지고, 코드 생산성이 향상된다는게 NestJS의 장점!!
'코딩캠프 > 내일배움캠프' 카테고리의 다른 글
[ WIL ] 02.06~10 13주차 (0) | 2023.02.12 |
---|---|
[ TIL ] 02.10(금) 63일차 (0) | 2023.02.10 |
[ TIL ] 02.08(수) 61일차 (0) | 2023.02.08 |
[ TIL ] 02.07(화) 60일차 (0) | 2023.02.07 |
[ TIL ] 02.06(월) 59일차 (0) | 2023.02.06 |