본문 바로가기

기술면접

SPA의 장점이 무엇인가요?

SPA란?

SPA는 Single Page Application의 약자로서 하나의 페이지로 구성된 애플리케이션을 말합니다. 페이지 요청 시 완전히 새로운 페이지를 불러오는 것이 아닌, 동적으로 페이지를 다시 작성해 '사용자와 소통' 하는 웹 애플리케이션 or 웹 사이트를 뜻하며, 처음 로드 하고 난 뒤 새로고침이 없는 것이 특징입니다. SPA는 사용자가 요청한 각각의 페이지를 서버가 생성해서 전달해주는 것이 아니라, 클라이언트가 동적으로 페이지를 다시 작성하는 방식이며, 첫 페이지 요청 시 단 한번만 리소스를 로딩하고 그 이후로는 페이지 로딩 없이 필요한 부분만 서버로부터 받아서 화면을 갱신합니다.

SPA의 장단점

SPA의 가장 큰 장점은, 자바스크립트를 사용해서 웹 어플리케이션 형태로 사용할 수 있다는 점입니다. 그러기 위해서 중요한 점은 JavaScript 파일과 HTML을 받아오지만 대부분의 동작은 JavaScript에 의존하여 작동시킬 수 있어야 합니다. 반대로 페이지 이동 마다 전체 HTML을 받아오는 것은 기존 Multiple Page Application의 특징입니다.

  • 클라이언트가 모든 페이지를 가지고 있으므로 앱과 같은 자연스러운 사용자 경험을 제공합니다. 사실상 로딩 이후에는 모바일 앱과 동일한 방식으로 동작을 한다고 볼 수 있습니다.
  • 페이지를 이동 하더라도 컴포넌트만 부분적으로 교체하면 되므로 효율성이 증가합니다.
  • 서버가 해야 할 화면 구성을 클라이언트가 수행하므로 서버 부담이 경감됩니다.
  • 모듈화 또는 컴포넌트별 개발이 용이합니다.
  • 백엔드와 프론트엔드가 비교적 명확하게 구분됩니다.
  • 앱과 웹이 동일한 서버를 이용할 수 있습니다.
  • PWA(Progressive Web App)과 궁합이 잘 맞습니다.

단점은 초기에 웹에 필요한 대부분의 리소스를 다운로드하기 때문에 초기 구동 속도가 느리다는 점입니다.


Reference
https://typeof-bong.tistory.com/18

https://devopedia.org/single-page-application

 

 

반응형