Model - View - Controller를 수행하는 "고전적인"방법은 서버에 세 가지 모두를 갖는 것입니다. HTML과 일부 JS의 View 레이어 출력은 브라우저에 의해 렌더링됩니다.
레일즈는 이것의 훌륭한 예입니다.
"새로운 멋진"방법은 브라우저를 API를 통해 services
을 제공하는 백엔드 서버가있는 주 컴퓨팅 엔진으로 취급하는 것입니다.
이 경우 모델, 뷰 및 컨트롤러 소프트웨어는 모두 클라이언트에서 (자바 스크립트 또는 coffeescript로) 실행됩니다. 백본은 종종 브라우저 측 솔루션의 일부이지만 척추, angularJS 및 다른 옵션과 같은 대안이 있습니다.
백엔드 서버에서 dbms 및 좋은 API 시스템을 실행합니다. Ruby/Rack에는 훌륭한 프레임 워크가 구축되어 있습니다. Daniel Doubrovkine의 게시물보기 code.dblock.org 여기에는 다양한 선택 항목이 있습니다.클라이언트에서 MVC의
장점
- 쿨 Ajaxy 한 페이지 효과는
- 단일 페이지 웹 어플리케이션은 일반 웹 사이트
을보다 사용자에게 더 빠른 UI를 제공 할 수있는 사용자에 대한 응답 사용자 인터페이스
- 좋은 아키텍처, 목적을 이루기위한 인 에이 블러 iPhone/Android 앱
- 앱에 따라 standa를 만드는 데 사용할 수 있습니다. 네트워크 연결없이 작동하는 외로운 웹 응용 프로그램
- 이 많은 멋진 애들이 검색 엔진 가능한 콘텐츠를 만드는 등
- ,
단점
- 오래된 브라우저, IE에 대한 접근 방법을 결정하기 위해 필요 요즘
하고있는 것입니다 수 까다로워. 검색 엔진에만 그림자 웹 사이트가 필요할 수 있습니다.
- 테스트가 어려울 수 있습니다. 그러나 테스트 가능성 포커스가 포함 된 AngularJS와 같은 새로운 라이브러리를 확인하십시오.
- 이 접근 방식은 더 많은 소프트웨어가 포함됩니다. 쓰기 및 테스트에 더 많은 시간이 소요됩니다.
그것은 당신에게 달려 선택
. 결정은 시간대, 자원, 경험, 필요 등에 따라 달라집니다. 백본 등을 사용할 필요가 없습니다. 이렇게하는 것은 절충점입니다 (위 참조). 사용하지 않는 것이 더 빠르거나 더 쉬울 것이지만 그것없이 (또는 비슷한) 수행하면 목표를 달성하지 못할 수도 있습니다.
레일스 또는 PHP에서 추가 기능 라이브러리 또는 기타 MVC 솔루션을 사용하여 훌륭한 MVC 응용 프로그램을 만들 수 있습니다. 나 보안 & 검색했다 위해
Welcome to Stackoverflow! 다른 사람의 질문을 포함하여 유용한 모든 대답을 upvote하는 것을 잊지 마십시오. 자신의 질문에 대한 최선의 답을 확인/수락하는 것을 잊지 마십시오. –
나는 불행히도 내가 n00b이기 때문에 아무것도 upvote 수없는 것 같아 – JoeyC