2013-05-08 2 views
20

서버 측 MVC의 이점에 대해 다른 사용자로부터 의견을 얻으려고합니다. 많은 자바 스크립트 라이브러리의 힘으로. 어떤 좋은 목적은 서버 측 MVC 서버를 더 이상 사용합니까?클라이언트 MVC 대 서버 MVC

템플릿과 REST API를 사용하여 클라이언트 측 MVC를 쉽게 사용하여 사소한 변경 사항으로 전체 페이지를 다시로드하는 오버 헤드를 줄이면서 더 많은 응용 프로그램을 만들 수 있습니다.

+1

을, 맞죠? – DOK

+0

@DOK SPA : 예. 크기 현명하고, 나는 작고 큰 – Justin

+3

작은 견인과 같은 중요한 질문을 생각하고 있습니다 ... –

답변

5

서버 MVC 혜택 혜택 :

  1. 성숙한.
  2. 널리 채택됩니다.
  3. 대부분의 코드는 서버 내부에 있으므로 보안을 강화해야합니다.

하지만 분명히 경향은 클라이언트/서버 컴퓨팅으로 돌아가는 것이지만 C 또는 다른 언어로 작성된 뚱뚱한 클라이언트 대신에 이제는 매우 멋진 플랫폼 인 브라우저입니다. 브라우저. 몇 가지 상호 작용

  1. 캐주얼 사용자 : 서버 + 아약스

    는 내가 서버 측 MVC와 클라이언트 측 MVC를 사용하는 경우에 대한 간단한 정책을 가지고있다.
  2. LOB 응용 프로그램 (회계, ERP, CRM 등) : 클라이언트.

BTW # 1에서는 Java Server Faces를, # 2에서는 JAX-RS 서비스로 백업 된 ExtJS를 사용합니다.

감사합니다.

+0

올드 포스트가되었지만 궁금한 점이 있습니까? 사용자 상호 작용이 거의없는 일반 사용자의 경우 사용자 서버 + 아약스가 필요한 이유는 무엇입니까? 그리고 LOB 애플 리케이션을위한 클라이언트 측 MVC? 일반 사용자를 위해 LOB 응용 프로그램 및 클라이언트 측 MVC에 서버 측 MVC를 사용하는 것이 더 안전하고 확장 가능하지 않습니까? 내가 뭔가를 놓친다면 미리 사과하십시오. – redspidermkv

6

글쎄, 아직 서버 쪽 MVC 엔진이 제공 할 수있는 초기 페이지가 필요합니다.

이외에도 클라이언트 MVC + REST가 작동 할 수도 있지만 큰 응용 프로그램에서는 여전히 다른 섹션이 있고이 섹션을 함께 연결해야한다고 생각합니다. 이것은 클라이언트 측에서 가능할 수 있지만, 서버 측에서하는 것이 더 쉽다고 생각합니다.

나는 두 가지가 공존하는 것을 행복하게 볼 수 있습니다. 당신은 여전히 ​​클라이언트 측과 REST를 통해 가능한 한 많은 일을 할 수 있지만 뭔가 클라이언트 측 가능하지 않은 경우, 당신은 여전히 ​​MVC의 서버 측 장점

+0

MVC는 초기 페이지 게재를 위해 과잉 노출 된 것처럼 보입니다. – Justin

+2

모든 것은 앱의 복잡성에 달려 있습니다. 초기 페이지가 상당히 복잡하고 많은 섹션 (너무 많은 초기 페이지)이있는 경우 지불합니다. 하지만 여기서도 어려운 규칙은 없습니다. 여러분이 구축하고있는 앱에 따라 달라집니다. – Kenneth

11

내가 보는이 방법은 클라이언트 측 MVC를 블랙 박스에 싸서 V로 간주 할 경우 서버 측 MVC와 관련이 있습니다. 이것은 협업과 확장성에 관한 것입니다. 서버 측 MVC는 브라우저에서 실행되는 별도의 프레임 워크에 기술적으로 뷰잉 기술을 아웃소싱한다는 개념으로 REST API에 계속 연료를 공급합니다.

브라우저가 점점 더 많은 응용 프로그램 개발 플랫폼으로 보이기 때문에 "백엔드 플랫폼"에서 클라이언트 (브라우저)로 엄청난 양의 데이터를 내보내고 브라우저에서 데이터를 로컬 "데이터베이스"로 처리하여 빠른 응답을 제공 할 수 있습니다 시각.

는 서버와 클라이언트 사이의
  • 스파 스 트래픽함으로써 더 관련 데이터에 대한 액세스를 현지화하여 웹 애플리케이션의 대기 시간
  • 증가 응답 성을 감소
      부하를 분산
    1. 을 설정 :이 2 MVC 프레임 워크를 결합

      수 있습니다 단일 서버 측 컨트롤러에서 수백 개의 브라우저에 이르기까지

    여기서의 아키텍처는 CDN과 매우 유사합니다. 배달 네트워크! 실제로 데이터를 지역화하고 처리 센터에 더 가까이 가져 오는 것이 중요합니다.

    이, 당신은 당신이 당신의 제품의 아키텍처 요구 사항을 이해하면, 다른 통해 하나의 전용을 계속 할 수 있습니다 가졌어요. 적절한 작업에 적합한 도구.

  • 3

    단지 MVC와 다른 끝점 간의 MVC는 그리 건설적이지 않습니다. MVC는 코드 구성 방법의 구조입니다. 디자인 패턴 패밀리는 코드를 분리하여 관리하기 쉽게 만들어줍니다. 우리는 항상 그것을 원합니다.

    모두가 서버 또는 클라이언트에 구축 여부, 당신의 분리에 좋은 구조를 가지고 있어야 동의 할 것이다. 컨테스트가 없습니다.

    진짜 더 중요한 질문은 : 서버 측 렌더링 대 클라이언트 측? 서버 또는 클라이언트에서 HTML 뷰를 생성하려는 위치는 어디입니까? 이것은 페이지 속도가 더 걱정되는 다른 질문입니다. & UI 응답. 또한 여러 곳에서 여러 번 답변을 받았습니다. 검색 예 : https://stackoverflow.com/search?q=client+rendering+vs+server+rendering

    +1

    +1 정적 파일 만 제공하는 경우가 아니라면 클라이언트와 서버 모두에 MVC 아키텍처가 있어야합니다. M (MVC) C라고 말할 수 있습니다. – deceze

    +0

    예! 코멘트에서 "M (MVC) C"를 사용할 수있는 기회가 될 것입니다.) – givanse

    0

    나는 MVC는 간단한 웹 애플리케이션을위한 좋은 패턴라고 생각합니다. 그러나 Facebook이나 Gmail과 같은 현대적이고 풍부한 웹 애플리케이션을 구축 할 때는 실제로 도움이되지 않습니다. MVC를 사용하지 않는 이유는 더 이유로이 게시물을 살펴보십시오 : 당신은 작은 단일 페이지의 앱에 집중하고

    http://dennis-nerush.blogspot.co.il/2016/04/should-we-use-mvc-for-modern-web.html