10 Rendering Patterns for Web Apps: Static, SSR, SSG & Qwik
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

웹 앱을 위한 10가지 렌더링 패턴

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

웹 개발자, 프론트엔드 개발자, 백엔드 개발자

핵심 요약

  • 정적 사이트는 빠르고 가볍지만, 상호작용이 부족하다.
  • SSR은 동적 콘텐츠를 제공하지만, 초기 로딩 속도는 SSG보다 느릴 수 있다.
  • Qwik 프레임워크Resumability을 통해 Hydration 없이 빠른 초기 로딩을 가능하게 한다.

섹션별 세부 요약

1. 정적 사이트

  • HTML, CSS, JavaScript 파일을 미리 렌더링하여 제공.
  • 모든 페이지가 별도의 파일로 구성되어 있음.
  • 상호작용 및 동적 콘텐츠 부족.

2. 단일 페이지 애플리케이션(SPA)

  • 하나의 HTML 파일로 처음 로딩되고, 이후 DOM 업데이트로 페이지 전환.
  • 사용자 경험 향상 가능.
  • SEO 최적화가 어려움.

3. 서버사이드 렌더링(SSR)

  • 서버에서 HTML을 동적으로 생성하여 제공.
  • SSG보다 동적 콘텐츠 제공 가능.
  • 초기 로딩 속도는 느릴 수 있음.

4. 정적 사이트 생성(SSG)

  • 모든 페이지를 미리 생성하여 제공.
  • 템플릿 엔진과 데이터 소스를 사용하여 동적 콘텐츠 포함 가능.
  • JAMStack 사이트로도 불림.

5. 점진적 정적 재생성(ISR)

  • SSG와 SSR의 중간 형태로, 캐시가 만료되면 데이터를 업데이트.
  • 사용자가 새로운 콘텐츠를 즉시 볼 수 있음.

6. 하이드레이션(Hydration)

  • 서버에서 제공된 HTML을 클라이언트에서 JavaScript로 실행하여 SPA로 전환.
  • 초기 로딩 시 앱이 멈춘 듯한 느낌을 줄 수 있음.

7. 부분 하이드레이션(Partial Hydration)

  • 전체 페이지가 아닌, 상호작용이 필요한 부분만 하이드레이션.
  • 대규모 페이지의 성능 향상.

8. 섬(Islands)

  • 웹 애플리케이션의 독립적인 부분으로, 클라이언트에서 병합 가능.
  • 변경된 부분만 재렌더링하여 효율성 향상.

9. 스트리밍 SSR(Streaming SSR)

  • 서버가 HTML을 생성하는 즉시 클라이언트에 전송.
  • 느린 네트워크 환경에서도 사용자 경험 개선.
  • Next.js 13의 app 디렉토리에서 지원됨.

10. Resumability

  • Qwik 프레임워크가 도입한 새로운 렌더링 패러다임.
  • HTML에 JavaScript 이벤트 리스너를 직렬화하여 초기 로딩 시 하이드레이션 없이 제공.
  • JavaScript는 필요 시에만 로딩.

결론

  • 각 렌더링 패턴의 장단점을 고려하여 선택해야 하며, SSGSSR은 성능과 SEO 최적화에 유리함.
  • Qwik 프레임워크는 Resumability을 통해 하이드레이션 없이 초기 로딩 성능을 극대화할 수 있음.