[javascript] Angular와 자바스크립트에서의 서버사이드 렌더링 이해하기

서버사이드 렌더링은 단일 페이지 애플리케이션 (SPA)으로 개발된 Angular 및 JavaScript 애플리케이션에서 매우 중요한 개념입니다. 이 기술은 페이지 로딩 시간을 단축하고 SEO (검색 엔진 최적화)를 향상시키며, 초기 렌더링 속도를 향상시킬 수 있는 장점이 있습니다.

서버사이드 렌더링이란?

서버사이드 렌더링 (SSR)은 클라이언트 사이드에서 렌더링되는 traditional한 웹 애플리케이션과는 달리, 서버에서 초기 HTML을 생성하여 클라이언트로 전송합니다. 이로써 페이지가 로딩될 때 바로 보여지는 콘텐츠가 있어 사용자 경험이 향상됩니다.

Angular에서의 서버사이드 렌더링

Angular 애플리케이션에서 서버사이드 렌더링을 구현하려면, Angular Universal을 사용하여 서버에서 초기 렌더링을 수행해야 합니다. Angular Universal은 Node.js 서버 환경에서 Angular 애플리케이션을 렌더링하여 초기 HTML을 생성합니다.

import { renderModuleFactory } from '@angular/platform-server';
// ...
app.get('*', (req, res) => {
  renderModuleFactory(AppServerModuleNgFactory, {
    url: req.url
  }).then(html => {
    res.send(html);
  });
});

자바스크립트 프레임워크에서의 서버사이드 렌더링

React나 Vue와 같은 다른 자바스크립트 프레임워크 역시 서버사이드 렌더링을 지원합니다. 예를 들어, React의 경우 Next.js를 사용하여 서버사이드 렌더링을 구현할 수 있습니다.

결론

서버사이드 렌더링은 SPA에서 성능을 최적화하고 SEO를 향상시키는 데 중요한 역할을 합니다. Angular, React, Vue 등 다양한 프레임워크에서 이를 구현하는 방법을 이해하는 것은 모든 프론트엔드 개발자에게 유익할 것입니다.

참고: Google Developers - Server-side Rendering