Express와 NestJS

정민준·2022년 11월 25일
0

CS공부

목록 보기
9/9

Express란?

Express는 웹 및 모바일 애플리케이션을 위한 일련의 강력한 기능을 제공하는 간결하고 유연한 Node.js 웹 애플리케이션 프레임워크이다. 사실상 Nodejs의 표준 웹서버 프레임워크로 불려질 만큼 많은 곳에서 사용하고 있다.

Express의 장단점

장점
1. Node.js 프레임워크 중 커뮤니티가 가장 크다.
2. 서버 쉽게 실행/운영가능하다.
3. 내장된 라우터로 코드 재사용가능하다.

단점
1. 너무나 자유로운 구조로인해 좀처럼 잡히지 않는 구조이다.
2. 일반적으로 적용되야하는 미들웨어, 설정 등을 일일이 직접해줘야 한다.
-> 너무 자유롭다.(장점이자 단점)

NestJS란?

NestJS는 Node.js에 기반을 둔 웹 API 프레임워크로써 Express 또는 Fastify 프레임워크를 래핑하여 동작한다.
NestJS는 데이터베이스, ORM, 설정, 유효성 검사 등 수많은 기능을 기본 제공한다. 또 필요한 라이브러리를 쉽게 설치 (npm, yarn 등)하여 기능을 확장할 수 있는 Node.js의 장점을 그대로 가지고 있다.
또, 모듈/컴포넌트 기반으로 프로그램을 작성해 코드 재사용성을 높일 수 있다.
프로그래밍 언어로는 타입스크립트를 기본으로 사용해 타입스크립트가 가진 타입시스템의 장점을 누릴 수 있다.

NestJS의 장단점

장점
1. 안정성
NestJS는 물론 자바스크립트에서도 작동이 가능하지만, NestJS 개발 당시 타입스크립트를 고려하여 제작되었기 때문에 타입스크립트를 적극적으로 지원한다. 또한 NestJS 아키텍쳐 자체가 모듈 별로 감싸진 형태로 작성되어 있기 때문에 NestJS 에서 지원하는 테스트를 직접 실행하며 정말 안정성있게 작업을 할 수 있다.

2. 확장성
다른 라이브러리와 함께 사용할 수 있어 정말 유연한 확장성을 제공하고 있다.

3. 캡슐화
객체지향프로그래밍 OOP의 특성 중 하나가 캡슐화이다.
NestJS는 비슷한 기능을 하는 컨트롤러, 서비스 등을 묶어 module 파일 내에서 모두 관리한다.
이처럼 간단하게 모두 분기시켜서 관리할 수 있다는 특징이 있다.

4. 구조
nestJS는 컨트롤러, 모듈, 서비스 등 파일의 역할이 분명하기때문에 우선적으로 통일성이 있고 그로인한 구조화된 작업 진행이 가능하다.

단점
1. express에 비해 자유롭지 않다.(장점이자 단점)

참조: https://velog.io/@cm961115/NestJS-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0
https://avengersrhydon1121.tistory.com/101
https://nemne.tistory.com/m/26

profile
머리 박고 개발공부중,,,

0개의 댓글