Next.js API Routes vs Express

2022. 7. 18. 03:05
반응형

요약

Next.js는 풀스택프레임워크로서, 서버사이드 렌더링 문제를 해결하고자 나왔다.

Express는 Node.js의 백엔드 웹 개발 프레임워크다.

사이트를 풀스택으로 개발하고자 한다면 Next.js의 기능인 API Routes로 Express를 대체할 수 있다.

 

API Routes는 pages/api 폴더 내에서 동작하며 폴더 내 파일은 /api*로 처리된다.

이는 서버 측 번들에 포함되지만 클라이언트 번들에는 포함되지 않는다. (Express 또한 서버 측 번들에 포함된다)

 

그러나 외부 API를 구축해야 하고, 복잡한 처리가 필요하다면 Next.js를 사용하여 API를 구축하지 않고

별도로 서버를 개발하는 것이 적합할 것이다.

 

※ 풀스택 개발을 하게 되면 프론트엔드 코드와 백엔드 코드가 같이 빌드, 배포되므로 불편할 수 있다.

이는 React+Springboot 통합빌드 환경과 결과적으로 같은 단점을 가진다.


※ 용어에 대한 설명

 

Node.js

확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼.

웹브라우저 독립적으로 실행가능한 javascript 런타임 환경. (서버사이드 스크립트 언어가 아니다)

내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도의 소프트웨어 없이 동작하는 것이 가능.

다양한 플랫폼에서 실행된다.

 

Express.js

간편하고 빠르게 서버를 개발할 수 있으며

자유롭게 사용하고자 하는 기술을 추가할 수 있다.

즉, 원하는대로 개발하려면 다양한 의존성을 추가해야 한다.

아키텍처에 관한 정의나 기능을 제공해주고 있진 않기 때문에 구조를 설계하는 것이 난이도가 높다.

다른 프레임워크의 기반이 되기도 한다.

 

Nest.js

하나의 모듈에 하나의 비즈니스 로직을 담은 싱글톤으로 되어있음.

데이터베이스, ORM, 설정(Configuration), 유효성 검사 등 수많은 기능을 기본 제공.

모듈/컴포넌트 기반으로 프로그램을 작성함으로써 재사용성을 높임.

IoC(Inversion of Control, 제어역전), DI(Dependency Injection, 의존성 주입), AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)와 같은 객체지향 개념을 도입.

타입스크립트를 기본으로 채택.

스프링과 구조가 유사하다.

 

 

 

https://kimsangyeon-github-io.vercel.app/blog/2022-02-06-next-api-routes

 

Next.js에서 API Routes와 Server Express 사용해보기

Next.js에서 API Routes와 Server Express 사용해보기

kimsangyeon-github-io.vercel.app

 

반응형

'기술 관련 글 스크랩' 카테고리의 다른 글

OKKY 포럼글 스크랩  (0) 2022.06.28

BELATED ARTICLES

more