-->

자바공화국 배민도 Nest.js를 사내 공식 개발 프레임웍으로 지정했다는데..

 

 

장점

- 공식 문서 깔끔 (https://docs.nestjs.com/)
- DI, IoC, 데코레이터 등 OOP 개발에 용이
- 기능별 모듈화를 통한 직관적인 개발, 확장 가능성, 유지보수 용이한 개발 가능. -> 생산성 향상
- Typescript 기반으로 컴파일 오류 방지, 테스트 코드 작성에 용이하므로 TDD를 쉽게 적용 가능. (Express에서의 ts 세팅보다 매우 간단)
- Spring 과 유사한 UX로 추후 이벤트 플랫폼 개선시 유사한 아키텍처 구조 사용 가능.
- 아주 간단히 Swagger 초기 세팅으로 코드 수정시 자동 반영 (https://jhyeok.com/nestjs-swagger/)
- Webpack HMR로 필요한 부분만 비동기 핫 리로드 지원.
- Node Http 프레임워크 선택가능 (express, fasify ..)

 

단점

- 처음 접하면 러닝커브가 높을 수 있다.
- Express에 비해 작은 생태계, 낮은 점유율 (이지만 바짝 쫓아옴 2023.04 기준 Express 6만, Nest 5.5만 스타 - https://github.com/VanoDevium/node-framework-stars

와 이제 역전함~!


- 기획전 프론트에서 직접적인 DB 접근을 하지 않기에 ORM 사용 등에 제한적
- 동일한 기능을 위한 코드가 express보다 길다.

 

결론

프로젝트 성격에 따라 취사선택 해야 한다.

유연하고 확장성이 높은 Express는 작은 규모, 적은 기능의 어플리케이션이 적합하다.

반대로 Enterprise급, 여러 개발자가 빈번하게 기능 개발 등이 필요할 땐 Nest.js가 적합해보인다.

 

그러나 개인적으로.. 굳이 Nest.js 쓸 필요 있을까? 스타트업의 기술스택으로는 적합할 수도 있겠다. 초기 개발자가 적을 때 프/백 같이 할 수 있는 js/ts로 개발할 수 있으니. 근데 nest.js는 인력 풀이 좁아서 회사가 성장함에 따라 spring으로 바꾸는게 국룰이라 생각한다.

 

 

 

ChatGPT 피셜 :

Q) Nest.js 에서의 디버깅은 어렵다?!

A) 주로 아키텍처 및 디자인 철학의 차이로 인해 Express에 비해 Nest.js에서 디버깅이 더 어려울 수 있습니다. 다음은 Nest.js에서 디버깅이 더 어려운 것으로 간주될 수 있는 몇 가지 이유입니다.

 

  1. 추상화 계층: Nest.js는 데코레이터, 모듈 및 종속성 주입과 같은 추가 추상화 계층을 도입합니다. 이러한 추상화는 응용 프로그램 구축에 대한 체계적이고 조직적인 접근 방식을 제공하지만 오류를 추적하고 디버깅할 때 응용 프로그램의 흐름을 이해하기 어렵게 만들 수 있습니다.
  2. 복잡성: Nest.js는 프레임워크를 처음 사용하는 개발자가 탐색하고 이해하기 더 어려울 수 있는 더 복잡한 아키텍처를 가지고 있습니다. 이로 인해 학습 곡선이 길어지고 디버깅 중에 문제의 근본 원인을 찾는 것이 더 어려워질 수 있습니다.
  3. 스택 추적: 추가 추상화 및 기능으로 인해 Nest.js의 스택 추적은 때때로 Express와 같은 단순한 프레임워크에 비해 해석하기 어려울 수 있습니다. 이로 인해 오류의 원인을 정확히 찾아내기가 더 어려워질 수 있습니다.
  4. 툴링: Nest.js 에코시스템이 성장하는 동안 더 오래 사용되어 더 큰 커뮤니티가 있는 Express와 동일한 수준의 성숙한 디버깅 및 프로파일링 툴이 아직 없을 수 있습니다.

 

즉, Nest.js의 디버깅은 본질적으로 Express보다 어렵지 않습니다. 문제는 주로 프레임워크 설계의 차이와 Nest.js에서 도입한 개념에 대한 개발자의 친숙도에서 발생합니다. 개발자가 Nest.js에 더 익숙해지면 시간이 지남에 따라 디버깅이 더 쉬워집니다. 또한 Nest.js는 디버깅 프로세스 중에 개발자를 지원할 수 있는 훌륭한 문서 및 도구 지원을 제공합니다.

 

 

Nest.js와 스프링 프레임워크 그리고 그 미래에 대하여

Node.js로 웹을 시작하는 경우, 으레 대부분의 책들이 그렇지만 Express Generator를 통하여 FP로 시...

blog.naver.com

 

<참고>

- https://blog.logrocket.com/nestjs-vs-express-js/
- https://velog.io/@leo3179/Nest.js-%EB%A6%AC%EB%B7%B0
- https://velog.io/@cm961115/NestJS-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0
- https://choseongho93.tistory.com/318

 

NestJS vs. Express.js - LogRocket Blog

Compare NestJS and Express.js based on their features, architecture, community support, and more, for your Node.js project.

blog.logrocket.com

 

 

Nest.js 리뷰

Nest.js nest.js는 제가 백엔드 개발을 시작하고 가장 처음 접한 프레임워크이자 가장 많이 사용한 프레임워크입니다. 지금으로서는 이 nest.js를 통해 서버를 만드는데 익숙해졌지만, nest.js를 왜 사

velog.io

 

 

[NestJS] 알아보기

NestJS Framwork에 대해 알아보자.

velog.io

 

 

NestJS과 Express의 개념 & 비교 (차이점, 특징 등)

● NestJS란? Nestjs의 공식 사이트 Nest (NestJS)는 효율적이고 확장 가능한 Node.js서버측 애플리케이션을 구축하기 위한 프레임워크입니다. 프로그레시브 자바스크립트를 사용하고 TypeScript로 빌드되

nanbuja.com

 

+ Recent posts