- Today
- Yesterday
- Total
메이쁘
[WEB CS] SPA(Single Page Application) 에 대해 간단 개념 정리! 본문
안녕하세요.
스파 브랜드의 그 SPA가 아닌
웹에 사용하는 SPA 에 대해 다뤄보겠습니다.
SPA(Single Page Application) ?
- 페이지가 하나인 어플리케이션 (!)
- 주로 페이지 이동 시 Ajax로 동적 데이터를 요청하고, 받은 json 결과를 View에 바로 뿌려주는 Application. 그래서, 페이지는 하나.
SPA 사용 이전까지는 페이지 요청 시 웹 서버에서 HTML을 만들고, 꾸미고 해서 그걸 받아 렌더링했었습니다. (뷰는 서버 - 사이드에서 담당)
그 결과, 웹의 규모가 커질수록 데이터 전송 과부하로 점점 속도가 느려졌습니다.
이를 해결하기 위해 SPA가 나왔는데요.
서버 단에서 HTML을 만들어서 클라이언트는 그 결과만 화면에 출력했다면,
SPA는 클라이언트 - 사이드 에서 뷰를 담당하기 때문에, 서버에서 기본 틀(상단, 하단, 메뉴와 같이 별도의 동적 데이터 처리가 필요 없는 부분들) 만 담긴 HTML을 받아 클라이언트에서 로딩하고, 나머지 정적 데이터 부분은 Ajax를 통해 비동기적으로 받아와서 그때마다 클라이언트에서 출력합니다.
SPA의 장점
- 사용자 친화적인 UI(반응성이 빨라 화면 출력 또한 빠릅니다.)
- 서버 요청이 적음.
- 개발이 간단하고 능률적이다. (페이지를 렌더링하기 위해 서버에 코딩할 필요가 없이 바로 파일을 만들어 시작할 수 있습니다.)
- 크롬에서 디버깅이 쉽다. (앱 : chrome inspect, 웹 : chrome 개발자 도구)
- 프론트엔드와 벡엔드의 분리로 인한 개발업무 분업화 및 협업이 용이하다.
SPA의 단점
- 초기 구동 속도 (한 번에 모든 웹 결과를 가져와서 출력하기 때문에, 초기 출력 속도는 느립니다.)
SPA를 사용하는 프레임워크는 주로 React.js, Vue.js, Angular.js 등 이 있습니다.
*** 라우팅(Routing) : 주소에 따라 다른 View를 보여주는 것.
이상입니다.
감사합니다!
'Technology > Web - Spring' 카테고리의 다른 글
[Web] $(document).ready 와 window.onload = function() 의 차이점! (0) | 2021.01.10 |
---|---|
[Spring] Spring Annotation 으로 쓰이는 @Autowired 를 사용하는 이유 쉽게 풀어보자! (5) | 2020.07.22 |
[WEB CS] Cookie, Session, Cache (쿠키, 세션, 캐시) 에 대해, 그리고 차이점에 대해 알아보자! (0) | 2020.07.19 |
[WEB CS] JSP 처리 과정(= WAS를 통한 웹 페이지 출력 과정) (0) | 2020.07.18 |
[WEB CS] 웹 서버와 WAS(Web Application Server) 의 의미, 차이점, 웹 동작 원리를 알아보자! (0) | 2020.07.18 |