우리는 보통 express.js에 익숙하다. 하지만 Nest.js의 등장 이후로 점점 Nest.js를 사용하는 비율이 늘어나고 있다. 우리는 왜 Nest.js를 사용해야 할까?
일단 Nest.js의 공식홈페이지에 들어가보면
Hello, nest!
A progressive Node.js framework for building efficient, reliable and scalable server-side applications.
라고 적혀있다. 해석해보자면 효율적이고 안정적이며 확장 가능한 서버 측 애플리케이션을 구축하기 위한 점진적인 Node.js 프레임워크입니다. 라고 하는데 이 문장만 봐서는 Nest.js를 사용해야 할 이유를 잘 모르겠다.
그래서 express.js 와 nest.js를 비교해보고자 한다.
Express.js
1. 유연함,확장성 - 자유도가 높기 때문에 맞는 라이브러리를 찾기 위해 열심히 검색을 하거나 미리 만들어진 보일러 플레이트가 있는 깃허브들이 있으니 이것을 활용해 된다.
2. Typescript 지원 - 추가 설정을 해야한다.
3. 커뮤니티 - 가장 크다.
Nest.js
1. 유연함,확장성 - 미들웨어,IoC,CQRS 등등 많은 기능들이 Nest.js 자체에 포함되어 있으며, 원하는 기능이 없으면 다른 라이브러리를 적용해서 사용하면 된다.
2. Typescript 지원 - 기본 설정이며, 자바스크립트도 사용가능
3. 커뮤니티 - 꾸준히 증가중
그래서 Nest.js는
1. 안정성 - Typescript를 이용하기 때문에 오류라던지 여러 이슈들을 방지 할 수 있다.
2. 확장성 - 다른 라이브러리와 함께 사용할 수 있어 유연한 확장성을 제공 한다.
3. 캡슐화 - Nest.js는 OOP(객체지향프로그래밍)을 지원하기 때문에 OOP의 특성중 하나인 캡슐화를 사용한다.(비슷한 기능을 하는 Controller, Service 등을 묶어 module파일 내에서 관리한다)
4. 구조 - Nest.js는 파일들의 역할이 분명하고 파일 구조가 잡혀있기 때문에 통일성이 있고 그 때문에 구조화된 작업 진행이 가능해진다.
이러한 장점들 때문에 Nest.js를 사용하는 것이 좋다!
참고한사이트
https://wikidocs.net/148195
https://deemmun.tistory.com/35