Использование инфраструктуры MVC на стороне клиента может быть полезно для организации кода при работе с очень большими, Ajax-зависимыми приложениями.Рассмотрим уровень модели на стороне клиента, который последовательно взаимодействует с одной или несколькими службами, предоставляемыми отдельными приложениями в сервис-ориентированной архитектуре.Отдельные поставщики услуг могут реализовывать свои сервисы с MVC или нет, но есть преимущество в том, что клиентские модели используют эти данные.
Имейте в виду также, что Javascript-фреймворки - будь то jQuery, MootoolsNode.js - собирается реализовать управляемый событиями рабочий процесс управления, где одно событие может инициировать обратные вызовы, которые каскадно переходят в другие обратные вызовы.Как правило, на стороне сервера, по крайней мере, в том, что касается цикла HTTP-запроса-ответа, мы хотим создать дискретные атомарные задачи, которые генерируют быстрый и перенаправляемый ответ и могут инициировать или ставить в очередь какое-то другое асинхронное событие на сервере, потому что ответблокирует пользователя от выполнения другого запроса и продолжения его рабочего процесса.Это не так для Javascript на стороне клиента.
Добавление полной версии MVC на стороне клиента в стек, когда вы уже используете серверную часть инфраструктуры MVC, может быть излишним и может привести к дублированию усилий.Это можно сделать правильно.Специализируйте свой серверный код в управлении доступом и операциях CRUD, возвращая JSON вместо представлений HTML.Специализируйте свой код на стороне клиента для обработки представлений и обработки событий с использованием облегченных моделей, ожидающих хранилище данных JSON с обычной маршрутизацией ReST-ful.Используйте их для того, на что они оба хороши, чтобы получить максимальный пробег.