SPA 의사결정 보드

렌더링 방식 선택

SPA는 빠른 화면 전환에 강하지만 모든 상황의 기본값은 아닙니다. 전통 MPA, SPA 런타임, API 서버, 브라우저 API, SSR/SSG 보완책을 요구 조건별로 조합합니다.

MPA

서버가 HTML을 완성

이동마다 새 문서를 받아 초기 표시와 검색 노출이 단순합니다.

  • 콘텐츠 중심 페이지
  • 페이지 단위 캐싱
SPA Runtime

브라우저가 화면을 갱신

앱 셸을 받은 뒤 라우터와 상태 관리로 화면 일부만 바꿉니다.

  • 부드러운 전환
  • 컴포넌트 재사용
API Server

데이터와 검증 담당

서버는 JSON 응답, 인증, 권한, 민감 로직을 최종 책임집니다.

  • 프론트·백엔드 분리
  • 보안 검증 유지
Browser APIs

History · Fetch · Storage

URL, 비동기 요청, 사용자 상태를 새로고침 없이 이어 줍니다.

  • 뒤로가기 보존
  • 필요 데이터 요청
SSR / SSG

SPA 약점을 보완

초기 HTML, 검색 노출, 첫 로딩 체감을 서버 렌더링으로 점검합니다.

  • 검색 중심 진입
  • 정적 페이지 생성
검색 우선
MPA 또는 SSR/SSG를 먼저 검토

크롤러와 공유 미리보기가 중요하면 초기 HTML의 품질이 중요합니다.

전환 우선
SPA 런타임의 장점이 커짐

대시보드처럼 화면 상태를 유지하며 자주 이동하는 서비스에 맞습니다.

데이터 우선
API 서버와 Fetch 계약을 명확히 설계

화면 변경은 클라이언트가 맡고 서버는 같은 요청에 일관된 데이터를 돌려줍니다.

상태 우선
Storage는 보조 수단으로 제한

토큰과 임시 상태는 저장하되 권한 판단은 서버에서 확정합니다.