카테고리 없음

SPA(Single Page Application)로 구성된 웹 앱에서 SSR(Server-side Rendering)이 필요한 이유?

쿠키는 서비스 2023. 6. 20. 11:05
반응형

 

SPA에서 서버 사이드 렌더링(SSR)이 필요한 이유?

단일 페이지 애플리케이션(SPA)은 현대 웹 개발의 주요 트렌드 중 하나이며, 이는 그들의 빠른 응답 시간과 사용자 경험에 큰 부분을 차지합니다. 그러나 SPA만으로는 모든 것을 해결할 수 없으며, 때로는 서버 사이드 렌더링(SSR)이 필요한 경우가 있습니다. SSR의 장점을 살펴보고, SPA에 이를 적용할 때 고려해야 할 주요 사항들에 대해 논의해 보겠습니다.

1. SEO 최적화

검색 엔진 최적화(SEO)는 모든 웹사이트에게 중요한 요소입니다. 검색 엔진은 보통 서버에서 렌더링된 콘텐츠를 클라이언트 측에서 렌더링된 콘텐츠보다 더 쉽게 크롤링하고 이해할 수 있습니다. Google과 같은 검색 엔진은 자바스크립트를 실행하여 콘텐츠를 인덱싱하지만, 이 과정에서 복잡성이 증가하고 잠재적인 문제가 발생할 수 있습니다. 서버에서 렌더링된 페이지를 사용하면, 검색 엔진 크롤러가 웹 페이지의 콘텐츠와 메타 태그를 쉽게 읽을 수 있게 해서, 웹사이트의 검색 엔진 순위를 향상시킬 수 있습니다.

2. 성능 및 초기 로딩 시간 개선

SPA는 종종 크기가 크고 다운로드 시간이 길어질 수 있습니다. 사용자가 페이지와 상호 작용을 시작하기 전에 전체 애플리케이션이 로딩되어야 하는데, 이로 인해 지연이 발생할 수 있습니다. SSR을 사용하면, 사용자는 서버가 클라이언트에게 완전히 렌더링된 페이지를 전송하기 때문에, 나머지 애플리케이션을 백그라운드에서 로딩하는 동안 페이지를 보고 상호작용을 시작할 수 있습니다. 이는 인터넷 연결이 느린 사용자에게 특히 유익할 수 있습니다.

3. 소셜 미디어 미리보기 제공

링크를 소셜 미디어 플랫폼에 공유할 때, 해당 플랫폼은 웹페이지의 콘텐츠 미리보기를 생성하려고 시도합니다. 대부분의 플랫폼은 자바스크립트를 실행하지 않기 때문에, SSR 없이는 SPA에서 이런 미리보기를 생성할 수 없습니다. SSR을 사용하면, 이런 플랫폼들이 웹사이트의 콘텐츠를 쉽게 파악하고 미리보기를 생성할 수 있습니다.

4. 더 나은 사용자 경험 제공

SPA가 동작하는 데 필요한 자바스크립트가 로딩되는 동안 사용자에게 빈 화면이나 로딩 화면을 보여주는 대신, SSR을 사용하면 완전히 렌더링된 상호작용 가능한 페이지를 즉시 제공할 수 있습니다. 이로 인해 사용자 경험이 개선되며, 사이트 방문자가 빠른 시간 내에 원하는 정보를 찾을 수 있게 됩니다.

하지만 이 모든 장점에도 불구하고, SSR은 복잡한 빌드 및 배포 요구사항, 서버 리소스에 대한 높은 요구, 상태 관리의 복잡성 등의 단점을 가지고 있습니다. 이런 요소들을 고려하여, 사용 사례에 따라 SSR이 SPA에 적합한지를 결정해야 합니다.

 


✔️ SSR이 CSR보다 유리한 서비스?

때로는 클라이언트 측 렌더링(CSR)이 아닌 서버 측 렌더링(SSR)을 사용하여 이점을 얻을 수 있는 경우가 있습니다. SSR과 CSR 사이에서 선택하는 것은 웹사이트 또는 애플리케이션의 특정 요구사항에 따라 다릅니다. SSR은 SEO의 개선, 초기 로드 시간의 단축, 느린 장치나 네트워크에 대한 성능 향상 등의 이점을 제공할 수 있습니다. 하지만, 잠재적인 서버 로드에 대한 고려사항과 개발 및 배포 과정에서의 추가적인 복잡성을 도입하는 것을 염두에 두어야 합니다. CSR(클라이언트 측 렌더링)과 SSR(서버 측 렌더링)은 웹 페이지를 로드하기 위한 서로 다른 두 가지 접근 방식입니다. 구체적으로 어떤 서비스에서 SSR이 더 유리한 지 살펴보겠습니다.

 

전자 상거래 플랫폼

수많은 제품을 보유하고 있으며, 유기적 트래픽에 대한 SEO에 크게 의존하는 Amazon, eBay와 같은 웹사이트는 SSR의 이점을 활용할 수 있습니다. SSR을 통해 개선된 로드 시간과 완전히 렌더링된 페이지를 제공함으로써 사용자 경험을 향상시키고 참여도를 높일 수 있습니다.

뉴스 웹사이트

뉴스 웹사이트는 최신 콘텐츠를 빠르고 효율적으로 제공해야 하는 업계입니다. CNN, BBC, The New York Times와 같은 뉴스 매체는 SSR을 사용함으로써 인터넷 연결이 느린 사용자에게도 기사를 즉시 보여줄 수 있습니다. 이는 또한 SEO에도 도움이 됩니다.

블로깅 플랫폼

Medium, WordPress와 같은 블로깅 플랫폼들도 SSR의 이점을 얻을 수 있습니다. SSR을 통해 페이지를 더 빠르게 제공하고, SEO를 개선하며, 더 나은 소셜 미디어 링크 미리보기를 제공할 수 있습니다.

부동산 또는 직업 포털

검색 가능한 콘텐츠가 많고 방문자를 유치하기 위해 SEO에 크게 의존하는 Zillow, LinkedIn과 같은 웹사이트는 SSR을 통해 SEO 순위와 로드 시간을 개선하고, 전반적인 사용자 경험을 향상시킬 수 있습니다.

소셜 미디어 플랫폼

많은 소셜 미디어 기능이 클라이언트 측에서 처리될 수 있지만, SSR은 공유 가능한 링크의 미리보기 생성, 초기 로드 시간의 개선, 공개 게시물의 검색 가능성을 위한 SEO 향상에 유용합니다.

마케팅 웹사이트

회사 웹사이트, 프로모션 캠페인 사이트, 제품 랜딩 페이지 등 SEO에 크게 의존하는 웹사이트들은

SSR의 이점을 누릴 수 있습니다. 이는 검색 엔진 순위를 크게 향상시키고, 트래픽을 늘릴 수 있습니다.

 


 

✔️ CSR이 SSR보다 유리한 서비스?

애플리케이션의 종류와 목표에 따라 클라이언트 측 렌더링 (CSR)이 서버 측 렌더링 (SSR)보다 유리한 경우가 종종 있습니다. CSR은 실시간 상호작용, 복잡한 사용자 인터페이스(UI) 변경 및 실시간 업데이트가 필요한 서비스에 특히 적합합니다. 다음은 이러한 경우를 잘 보여주는 서비스의 예입니다.

대화형 웹 애플리케이션

온라인 디자인 도구와 같은 애플리케이션은 매끄러운 실시간 상호작용을 제공하기 위해 클라이언트의 렌더링 성능에 크게 의존합니다. 이러한 도구에는 Canva, Figma, 프로젝트 관리 도구인 Trello, Asana, 또는 메모 작성 앱인 Evernote가 포함됩니다.

온라인 게임

온라인 브라우저 게임, 예를 들어 Coolmath Games 또는 Miniclip에서 호스팅하는 게임들은 CSR의 이점을 잘 활용합니다. 클라이언트 측 렌더링을 통해 실시간 상호작용, 애니메이션 및 효과를 더욱 원활하게 제공할 수 있습니다.

실시간 애플리케이션

실시간 업데이트와 상호 작용이 필요한 앱은 CSR을 통해 즉시 사용자 인터페이스 업데이트를 제공할 수 있습니다. 이러한 앱의 예로는 Slack, Discord와 같은 채팅 애플리케이션, 실시간 분석 대시보드, Robinhood, E*Trade와 같은 주식 거래 플랫폼이 있습니다.

리치 미디어 애플리케이션

Netflix, YouTube 등의 리치 미디어 애플리케이션 또는 Pixlr, Adobe Spark와 같은 이미지 편집 도구는 많은 양의 클라이언트 측 상호 작용과 복잡한 UI 변경을 필요로 하므로 CSR을 활용합니다.

프로토타이핑 도구

Sketch, InVision 등의 웹 기반 프로토타이핑 도구는 고도로 상호 작용적인 UI를 가지고 있으며, 이러한 UI는 CSR을 통해 원활하게 제공될 수 있습니다.

학습 관리 시스템

Coursera, Khan Academy 등의 학습 관리 시스템

반응형