pjax или MVC на стороне клиента?

мне нужно начать новый проект, веб-приложение с множеством форм и экранов, и я действительно не знаю, какая технология подходит лучше всего. Приложение представляет собой ERP-подобное приложение с очень небольшим количеством анимаций и большим количеством форм. Цель состоит в том, чтобы свести к минимуму перезагрузку и время ожидания, оно должно быть как можно ближе к обычному настольному приложению (много работы, чтобы выглядеть как чудесное приложение VB6 :-)

С одной стороны у нас есть клиентская сторона MVC (магистраль). Здорово, что весь код работает на клиенте, но, на мой взгляд, это подразумевает повторение большого количества кода (например, всех определений моделей) с сервера (PHP + Fuel). Конечно, после загрузки всей информационной задачи, такой как разбивка на страницы или работа с сеткой, без каких-либо задержек, но это также создает некоторые проблемы с синхронизацией (другие пользователи могут изменять данные, и мне приходится вручную аннулировать данные на клиенте).

С другой стороны, у нас есть pjax. Идея состоит в том, чтобы сделать все шаблоны и т. Д. На сервере, просто реализовать логику для возврата страницы без фрейма для запроса pjax или полной страницы для новых запросов. Нет дублирования кода, очень простая клиентская часть.

Я прочитал историю из basecamp и из Twitter и оба пункта имеют смысл для меня. Вы не можете ретранслировать на компьютере посетителя (функции, производительность...)

Чем больше я думаю об этом, тем больше мне нравится режим pjax, а не MVC, но, возможно, я что-то упускаю. Каковы преимущества MVC по сравнению с pjax или недостатки pjax по сравнению с MVC на стороне клиента?

Большое спасибо


person wezzy    schedule 09.09.2012    source источник


Ответы (1)


Backbone.js хорош для тяжелых одностраничных веб-приложений, которые никогда не отправляются обратно, но имеют много ajaxian-вещей, взаимозависимых каскадных раскрывающихся списков и т. д. Он имеет очень хороший API для событий и коллекций. Если у вас много javascript на стороне клиента, это может быть полезным способом его организации. Он самоуверен в том смысле, что он ожидает, что ваша серверная архитектура по умолчанию будет RESTful, и вам нужно приложить некоторые усилия, чтобы использовать ее для не RESTful API.

Проект, над которым я работаю, также представляет собой веб-приложение ERP с asp.net MVC на стороне сервера. Я узнал, что Backbone (с handlebars в качестве системы шаблонов) и .net mvc действительно не очень хорошо работают вместе. Если вы переходите на Backbone, вам действительно нужно работать на полную катушку (методы контроллера обслуживают json, вот и все). На страницах в этом приложении, которые являются более или менее «обычными» веб-страницами с некоторыми формами, Backbone — неправильный выбор.

Я только что впервые погуглил pjax, поэтому я просто прочитал краткое описание в верхней части страницы, но я подозреваю, что это может быть подходом для вашего сценария в соответствии с принципами Keep It Simple Silly.

person Scott Weaver    schedule 10.09.2012