3주차 과제-Next.js vs REACT

HollowCore·2026년 8월 2일

알토르

목록 보기
4/7

React vs Next.js

🚀 [웹 개발 기초] Next.js란 무엇인가? React를 두고 Next.js를 선택하는 이유 (feat. CSR과 SSR)

  • React(리액트)로 프론트엔드 개발을 시작하다 보면, 어느 순간 Next.js라는 단어를 필연적으로 마주하게 됩니다. 수많은 기업 채용 공고에서도 React와 Next.js를 세트로 요구하는 경우가 많습니다.

  • 과연 Next.js는 무엇이고, 훌륭한 React를 두고 왜 Next.js를 추가로 사용해야 하는 걸까요? 이를 완벽하게 이해하기 위해서는 먼저 웹 화면을 띄우는 두 가지 방식인 CSR과 SSR의 차이를 알아야 합니다.

1. 화면을 그리는 주체는 누구인가? (CSR vs SSR)

  • 웹 페이지를 사용자에게 보여주기 위해 '어디서' 화면(HTML)을 완성하느냐에 따라 CSR과 SSR로 나뉩니다.

🛠️ CSR (Client-Side Rendering) : "밀키트(DIY) 배달"

CSR은 말 그대로 클라이언트(사용자의 브라우저)가 화면을 직접 그리는 방식입니다. React로 만든 전통적인 SPA(Single Page Application)가 이 방식을 사용합니다.

  • 동작 방식: 사용자가 웹사이트에 접속하면, 서버는 텅 빈 HTML 껍데기와 화면을 그리는 방법이 적힌 거대한 JavaScript 파일을 묶어서 던져줍니다. (밀키트 배달) 그러면 브라우저가 이 파일을 다운로드하고 실행하여 스스로 화면을 완성합니다. (직접 요리)

  • 장점: 한 번 화면이 완성되고 나면, 이후 페이지를 이동할 때 필요한 데이터만 서버에서 받아와 부드럽게 화면을 갱신하므로 사용자 경험(UX)이 매우 뛰어납니다. 화면 깜빡임이 없습니다.

  • 단점 (치명적): 처음에 거대한 JavaScript 파일을 다운받고 실행할 때까지 초기 로딩 속도가 느립니다. 사용자는 잠시 '빈 하얀 화면'을 보게 됩니다. 또한 구글, 네이버 등의 검색 엔진 봇(크롤러)이 텅 빈 HTML만 보고 "이 사이트에는 내용이 없네?"라고 판단하여 검색 엔진 최적화(SEO)에 매우 불리합니다.

🍽️ SSR (Server-Side Rendering) : "완성된 요리 배달"

SSR은 서버에서 미리 화면을 렌더링(완성)하여 클라이언트에게 보내주는 방식입니다. 과거의 전통적인 웹사이트(MPA)들이 주로 사용하던 방식입니다.

  • 동작 방식: 사용자가 접속하면, 서버가 데이터베이스를 조회하고 화면(HTML)을 완벽하게 예쁘게 그려서 브라우저로 쏴줍니다. 브라우저는 받은 것을 그대로 보여주기만 하면 됩니다.

  • 장점: 서버에서 다 만들어져서 오기 때문에 초기 로딩(화면이 보이는 속도)이 아주 빠릅니다. 또한 완성된 HTML 코드가 처음부터 존재하므로, 검색 엔진 봇이 내용을 완벽하게 읽어갈 수 있어 SEO(검색 엔진 최적화)에 엄청난 강점이 있습니다.

  • 단점: 페이지를 이동할 때마다 서버에 새로운 화면을 요청하고 통째로 다시 받아와야 하므로 화면 깜빡임이 발생합니다. 또한 서버가 매번 화면을 그려야 하므로 서버 부하가 커질 수 있습니다.

2. Next.js란 무엇인가?

  • Next.js는 React를 기반으로 만든 프레임워크(Framework)입니다.

  • React 자체는 화면 UI를 만들기 위한 '라이브러리(도구상자)'일 뿐이라서, 라우팅(페이지 이동)이나 렌더링 방식 설정 등 웹 개발에 필요한 부가적인 기능들을 개발자가 일일이 다른 라이브러리를 가져와서 세팅해야 합니다.

  • 반면 Next.js는 React를 핵심 엔진으로 삼되, 웹 개발에 필요한 모든 도구와 규칙을 하나로 묶어 제공하는 '완성된 자동차'와 같습니다.

3. 훌륭한 React를 두고 Next.js를 사용하는 이유

  • 결론부터 말하자면, Next.js는 React(CSR)의 단점을 완벽하게 보완하면서 SSR의 장점을 모두 가져올 수 있기 때문입니다.

✨ 1. 완벽한 SEO (검색 엔진 최적화)와 빠른 초기 로딩

Next.js는 기본적으로 첫 화면을 SSR(또는 SSG) 방식으로 렌더링합니다.
즉, 사용자가 처음 웹사이트에 접속할 때는 서버에서 미리 완성해 둔 꽉 찬 HTML 화면을 빠르게 보여줍니다. 덕분에 사용자는 빈 화면을 기다릴 필요가 없고, 구글 검색 엔진도 사이트 내용을 완벽하게 파악하여 검색 결과 상단에 노출시켜 줍니다. 블로그, 쇼핑몰, 뉴스 사이트 등 검색 유입이 중요한 서비스에서는 선택이 아닌 필수입니다.

✨ 2. 마법 같은 라우팅 (CSR과의 결합)

Next.js가 정말 강력한 이유는, 첫 페이지만 SSR로 가져오고 그다음 페이지 이동부터는 React 특유의 부드러운 CSR 방식으로 작동한다는 것입니다. 즉, 검색 엔진 최적화(SEO)와 빠른 초기 로딩(SSR)을 챙기면서도, 화면 깜빡임 없는 매끄러운 앱 같은 사용자 경험(CSR)까지 두 마리 토끼를 모두 잡은 완벽한 하이브리드 아키텍처를 제공합니다.

✨ 3. 압도적인 개발 편의성 (파일 기반 라우팅)

React에서는 새로운 페이지 주소를 만들려면 react-router-dom 같은 도구를 설치하고 복잡한 코드를 짜야 합니다. 하지만 Next.js는 pages (또는 app) 폴더 안에 파일을 만들기만 하면, 그 파일 이름이 곧 웹사이트의 주소(URL)가 됩니다. 개발 속도와 유지보수성이 획기적으로 상승합니다.

📝 요약

사용자가 사용하기 편하고 빠르며(React의 컴포넌트와 CSR), 동시에 구글 검색에 잘 걸리고 초기 진입이 빠른(SSR) 완벽한 웹 서비스를 만들기 위해 전 세계의 수많은 기업들이 Next.js를 표준으로 채택하고 있습니다.

번외

⚛️ 1. React를 선택해야 하는 상황 (CSR 기반)

검색 엔진 노출(SEO)이 전혀 필요 없고, 사용자와의 복잡하고 즉각적인 상호작용이 중요한 '내부용 시스템'이나 '웹 어플리케이션'에 적합합니다.

  • 핵심 특징: 처음에 텅 빈 HTML 껍데기와 화면을 그리는 자바스크립트를 한 번에 다운받아야 해서 초기 로딩은 조금 걸릴 수 있지만, 이후에는 깜빡임 없이 부드럽고 빠른 실시간 화면 전환을 제공합니다.

  • 적합한 예시: 프라이빗 클라우드 보안 모니터링 대시보드

  • 보안 인프라의 네트워크 트래픽 흐름이나 실시간 서버 리소스(CPU, 메모리)를 감시하는 대시보드는 외부 검색 엔진(구글 크롤러)이 접근해서도 안 되고, 내용을 수집할 필요도 없습니다. 오직 권한을 가진 관리자만 로그인해서 사용하는 시스템입니다.

  • 이런 환경에서는 검색 노출보다는, 수많은 지표들이 1초마다 실시간으로 변할 때 화면 깜빡임 없이 부드럽게 업데이트되는 동적인 성능이 훨씬 중요합니다. 이럴 때는 굳이 서버에 렌더링 부담을 주지 않는 순수 React가 가장 가볍고 훌륭한 선택입니다.

🚀 2. Next.js를 선택해야 하는 상황 (SSR / SSG 기반)

  • 불특정 다수의 사람들에게 검색되어야 하고, 첫 페이지가 화면에 뜨는 속도가 매우 중요한 '퍼블릭(Public) 웹사이트'에 필수적입니다.

  • 핵심 특징: 서버에서 미리 완성된 화면(HTML)을 렌더링해서 클라이언트에게 보내주기 때문에 초기 로딩이 아주 빠르고, 검색 엔진 봇이 텍스트와 내용을 완벽하게 읽어갈 수 있습니다.

  • 적합한 예시: 글로벌 기술 블로그 및 아키텍처 포트폴리오 웹사이트

  • AWS 클라우드 아키텍처 설계도나 쿠버네티스(CKS) 보안 취약점 방어 전략에 관한 분석 글을 작성하여, 전 세계 엔지니어 및 채용 담당자들과 공유하는 블로그를 만든다고 가정해 보겠습니다.

  • 이 사이트는 누군가 구글에 "AWS 보안 아키텍처"라고 검색했을 때 무조건 상단에 노출되어야 의미가 있습니다. 또한, 글로벌 벤더사의 채용 담당자가 링크를 클릭했을 때 하얀 로딩 화면 없이 0.1초 만에 글이 보여야 이탈률을 막을 수 있습니다. 이처럼 완벽한 검색 엔진 최적화(SEO)와 빠른 초기 렌더링이 비즈니스(또는 퍼스널 브랜딩)의 핵심일 때는 Next.js가 압도적으로 유리합니다.

과제: http://localhost:3000

profile
기본부터 착실히

0개의 댓글