인프런 커뮤니티 질문&답변

윤해빈님의 프로필 이미지
윤해빈

작성한 질문수

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

프로젝트 생성 및 기본 환경 설정

장고와 nodejs에 대해 근본적인 의문이 생겼습니다

작성

·

1.3K

0

현재 저는 백엔드로 장고를, 프론트엔드로 리액트를 사용한다고 이해하고 수강중입니다.

그런데 프론트엔드 환경을 만드실 때 노드js를 선생님께서 사용하시던데 노드js는 장고랑 별개의 백엔드쪽 프레임워크라고 제가 기억하고 있습니다.

그럼 현재 백엔드는 장고와 노드js 둘다를 사용하고 있다는 의미인가요?

답변 1

2

이진석님의 프로필 이미지
이진석
지식공유자

안녕하세요.

nodejs는 파이썬처럼 리눅스/맥/윈도우에서 구동할 수 있는 자바스크립트 런타임입니다.

파이썬처럼 nodejs도 다양한 목적으로 사용할 수 있습니다. 웹서버로서 동작하는 것은 할 수 있는 정말 수많은 일 중에 하나일 뿐입니다.

nodejs는 런타임일 뿐, 프레임워크가 아닙니다. express, nextjs, remix, nestjs 등이 프레임워크라 할 수 있겠습니다.

리액트 개발에서 원본 소스코드로서 jsx 문법을 사용하는데요. 이는 브라우저에서 바로 실행할 수 없습니다. 브라우저가 이해할 수 있는 코드로 변환을 해줘야합니다. 이 변환 작업을 nodejs를 통해 수행하는 데, 크게 2가지 변환시점이 있을 수 있습니다.

  1. 서비스 전에 리액트 소스파일을 nodejs로 빌드하여 서비스하는 방법을 본 강의에서 다루고 있습니다. 서비스 전에 빌드하기에 서비스 시에는 빌드된 html, css, js 파일만 필요할 뿐 nodejs가 필요없습니다. 그러니 nodejs는 빌드툴일뿐, 웹서버 역할은 안 하는 경우인 것입니다. => 이러한 서비스 방법을 CSR (Client side rendering)이라고 합니다.

  2. 혹은 리액트 렌더링를 서버 단에서 수행하기도 합니다. 이때 서비스 시에 nodejs가 필요하고, 프레임워크로 Next.js이나 리믹스를 사용합니다. => 이러한 서비스 방식을 SSR (Server side rendering) 이라고 합니다.

백엔드라 하면 서비스 시에 동작하는 API 서버일텐데요. 백엔드는 장고 하나입니다.

화이팅입니다. :-)

윤해빈님의 프로필 이미지
윤해빈

작성한 질문수

질문하기