클라이언트 측 MVC 또는 MV* 란?
지난 포스트에서 단일 페이지 어플리케이션(SPA) 에 대해 간략히 설명하였다.
참조 : http://devsh.tistory.com/entry/SPASingle-Page-Application-%EC%9D%B4%EB%9E%80
설명하자면 단일 페이지 어플리케이션은 초기 페이지가 로딩된 후에 전체 페이지를 다시 로딩하지 않고 네비게이션과 데이터 요청을 처리한다.
사용자가 어떠한 요청을 하게될때 어플리케이션은 Ajax의XHR(XMLHttpRequest) 로 서버측과 REST API통신을 한다.
모든 커뮤니케이션은 백그라운드에서 서버와 비동기적으로 수행되며 백그라운드에서 비동기적인 작업을 수행되더라도 사용자는 페이지의 다른 부분에서 또 다른 작업을 동시에 수행할 수 있다.
이렇게 초기 SPA 는 Ajax 호출과 jQuery 등의 라이브러리를 통해 구현하였었는데 이러한 방식은 구조화되지 않은 코드를 만들어내어 유지보수를 어렵게 하였다.
코드의 중복과 복잡도 유지보수의 필요성에 의해 클라이언트 측(자바스크립트) 에서도 코드의 구조를 개선하고 유지보수를 쉽게 할 수 있는 전통적인 MVC패턴을 적용하기 시작했다.
클라이언트측 MVC패턴은 Backbone.js,Angluar.js 등이 있다.
특히 Backbone.js 은 컨트롤러가 존재하지 않고 모델(Model), 뷰(View), 컬렉션(Collection), 라우터(Router)와 같은 핵심 컴포넌트를 가지고있다. 이러한 이유로 고전적인 MVC 패턴(Model2)방식 과는 다르게 MV*라고 불린다.
'Backbone.js' 카테고리의 다른 글
Marionette.js Region 을 통한 Life Cycle 관리 (0) | 2015.02.27 |
---|---|
Marionette.js 의 메모리관리 (0) | 2015.02.27 |
SPA(Single Page Application) 이란? (0) | 2015.02.10 |