: NestJS는 TypeScript(타입 스크립트)를 지원하는 효율적이고 확장 가능한 Node.js의 서버 애플리케이션 프레임워크이며, OOP (Object Oriented Programming), FP (Functional Programming) 및 FRP (Functional Reactive Programming) 요소를 결합하는 특징을 가지고 있다.
Nest.js는 국내에서도 점점 인기를 얻고 있고 모두싸인과 당근마켓 등 여러 회사에서 적용되어 사용자가 늘고 있다. 따라서 우리도 이 애플리케이션 프레임워크에 대한 이해와 사용량을 늘려서 손쉽게 사용할 수 있어야한다.
express는 이미 많은 회사에서 사용을 해서 자리를 잡고있지만 Nest.js는 express위에서 여러 기능들을 미리 구현해놓은 것이기 때문에 초기 설정을 보다 적게 하는 편리함이 있어서 사용량이 점점 늘고 있다.
: 순수 Express를 사용하는 프로젝트에 협업을 하는 과정을 생각해 보자. 개발자마다 Express를 사용하는 아키텍쳐 패턴은 정말 다양하다. 프로젝트의 규모가 커지면 커질수록 개발자 또는 팀마다 프로젝트 구조와 스타일이 다르면 협업 과정에 드는 소통 비용이 증가하기 마련이다. 이는 생산성 저하와 유지보수의 어려움으로 이어질 수 있다.
Nest.js는 이런 아키텍처의 구조와 디자인 패턴을 프레임워크에서 제공한다. 때문에 각 개발자들의 아키텍처를 통일하고 소통 비용을 절감할 수 있으며, 확장성 있고 효율적인 개발을 할 수 있다고 생각한다.
위 이미지가 네스트가 초기 설정을 해준 화면인데,
dependencies는 실행시 사용되는 것들이고, devDependencies는 개발시 사용되는 것들로 볼 수있다.