728x90
반응형

클라이언트 측 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*라고 불린다. 






728x90
반응형

'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

+ Recent posts