клиент-MVC vs сервер-MVC

Я ищу, чтобы получить некоторые данные от других пользователей о преимуществах MVC на стороне сервера. С силой многих библиотек javascript. Какая хорошая цель делает серверный сервер MVC больше?

вы можете легко использовать MVC на стороне клиента с шаблоном и REST API, чтобы сделать гораздо более респозивное приложение с меньшими затратами на перезагрузку всей страницы для незначительных изменений.

5 ответов


преимущества сервера MVC:

  1. зрелые.
  2. широкое распространение.
  3. большая часть кода находится внутри сервера, поэтому должна быть более безопасной.

но определенно тенденция вернуться к клиентским / серверным вычислениям, но вместо жирных клиентов, написанных на C или другом языке, но теперь у вас есть очень хорошая платформа: браузер.

У меня есть простая политика о том, когда я использую серверную сторону MVC и клиентскую сторону В MVC:

  1. случайные пользователи с несколькими взаимодействиями: сервер + Ajax.
  2. применение LOB (учет, ERP, CRM, etc.): Клиент.

BTW я использую Java Server Faces для #1 и ExtJS, поддерживаемые службами JAX-RS для #2.

с уважением.


Как я вижу это, серверная сторона MVC остается актуальной, если вы считаете V как вашу клиентскую сторону MVC, завернутую в черный ящик. Дело в том, что это все о сотрудничестве и масштабируемость. Серверная сторона MVC продолжает подпитывать API REST (например) понятием, что вы технически аутсорсинг технологии просмотра в отдельную структуру, работающую в вашем браузере.

поскольку браузер все чаще рассматривается как платформа разработки приложений, вы можете экспортируйте огромные объемы данных из вашей " бэкэнд-платформы "в клиент (браузер), а затем обрабатывайте данные как локальную" базу данных " в вашем браузере, позволяя быстро реагировать.

объединение этих 2 MVC фреймворков позволяет:

  1. разреженного трафика между сервером и клиентом, тем самым уменьшая задержку
  2. повышение отзывчивости ваших веб-приложений путем локализации доступа к более релевантному набору данных
  3. распределение нагрузки с одного сервера боковой контроллер для сотен браузеров

архитектура на работе здесь очень похожа на CDNs-сети доставки контента! На самом деле речь идет о локализации данных и приближении их к центрам обработки.

сказав это, вы можете продолжать исключительное использование одного над другим, если вы понимаете архитектурные потребности вашего продукта. Правильный инструмент для правильной работы.


Ну, вам все равно понадобится начальная страница, которую может обслуживать серверный движок MVC.

кроме того, client-MVC + REST может работать, но я думаю, что в больших приложениях у вас все еще есть разные разделы, и вам нужно связать эти разделы вместе. Это было бы возможно сделать на стороне клиента, но я думаю, что проще сделать это на стороне сервера.

на данный момент я вижу, что оба сосуществуют счастливо. Вы все еще можете сделать как можно больше на на стороне клиента и через REST, но если что-то невозможно на стороне клиента, вы все равно пользуетесь преимуществами на стороне сервера MVC


сравнение просто MVC из одной конечной точки против другой не очень конструктивен. MVC-это структура того, как вы организуете свой код. Это семейство шаблонов проектирования, которое поможет вам отделить ваш код и сделать его более доступным для обслуживания. Мы хотим этого всегда.

все согласятся, что при создании на сервере или клиенте, вы должны иметь хорошую архитектуру с разделением интересов. Там нет никакого соревнования.

реальное и больше важный вопрос: рендеринг на стороне клиента и на стороне сервера? Где вы хотите создать свои представления HTML, на сервере или на клиенте? Это другой вопрос, который больше беспокоит скорость страницы и отзывчивость пользовательского интерфейса. Кроме того, на него ответили несколько раз в нескольких местах. Поиск ex:https://stackoverflow.com/search?q=client + рендеринг + vs + сервер+рендеринг


Я думаю, что MVC-отличный шаблон для простых веб-приложений. Однако это не очень помогает при создании современных и богатых веб-приложений, таких как Facebook или Gmail. Взгляните на этот пост по нескольким причинам, почему бы не использовать MVC:

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