SPA vs MPA

홍성표·2022년 6월 26일
0

SPA (Single Page Application)

  • SPA 는 한 개의 Page 로 구성된 application 이다.
  • SPA 는 웹 애플리케이션에 필요한 모든 정적 리소스를 최초 한번에 다운로드한다.
  • 그 이후 새로운 페이지 요청이 있을 경우, 페이지 갱신에 필요한 데이터만 전달받아 페이지를 갱신한다.
  • 어떤 링크를 클린한다고 해서 그에 관련된 모든 파일을 다운받는게 아니라, 필요한 정보만 받아서 그 정보를 기준으로 업데이트 된다.
  • CSR(Client Side Rendering) 방식으로 렌더링한다.

MPA(Multi Page application)

  • MPA는 새로운 페이지를 요청할 때마다 정적 리소스가 다운로드 되고, 그에 맞춰 전체 페이지를 다시 렌더링한다.
  • 인터넷 주소창에 주소를 입력하거나, 링크를 클릭하는 등 사용자가 어떤 요청을 하면, 그에 맞는 html, 이미지 등의 파일들이 전부 다운로드 되고 다시 렌더링 된다.
  • SSR(Server Side Rendering) 방식으로 렌더링한다.

SPA 의 장단점

장점

  • 좋은 사용자 경험
    • 전체 페이지를 업데이트할 필요가 없기 때문에 빠르다.
    • 전체 페이지를 업로드하면서 발생하는 깜박거림이 없다.
  • 개발하기에 더 심플하다.
  • 로컬 데이터를 효과적으로 캐시할 수 있다.

단점

  • 초기 구동 속도가 느리다.
    • 초기에 웹 애플리케이션에 필요한 모든 정적 리소스를 한번에 다 받기 때문에.
  • 검색 엔진 최적화(SEO) 관점에서 불리하다.

MPA 의 장단점

장점

  • 검색 엔진 최적화(SEO) 관점에서 유리하다.
    • MPA 는 완성된 형태의 HTML 파일을 서버로부터 전달받는다.

단점

  • 새로운 페이지를 이동하면 화면이 깜빡인다.
    • 새로운 페이지를 요청할 때마다 전체 페이지를 다시 렌더링 하기 때문에.
  • 프론트엔드와 백엔드가 밀접하게 연관되어 있다. 개발이 복잡해질 수 있다.
profile
안녕하세요. 홍성표입니다.

0개의 댓글