10

Я создаю (довольно простое) веб-приложение, которое в конечном итоге будет использоваться в равной степени на настольных и мобильных устройствах. Я использую Rails на бэкэнд, но фактическое приложение будет создано как одностраничное приложение, поэтому Rails просто будет обслуживать исходные интерфейсные активы и действовать как бэкэнд REST.Javascript MVC framework + jQuery Mobile

Я хотел бы использовать jQuery Mobile для мобильного оптимизированного UX, включая просмотр списка, сенсорный ввод (например, проведите по экрану, чтобы отредактировать элемент) и т. Д. (Обратите внимание, что я рассмотрел только использование инфраструктуры пользовательского интерфейса, например, Twitter Bootstrap или Foundation, но я бы сильно выиграл от более глубокого мобильного оптимизированного UX, который позволяет использовать jQuery Mobile.)

Я также хотел бы использовать структуру Javascript MVC, чтобы лучше структурировать код Javascript. Я играл с несколькими фреймворками, но не использовал ни одного из них в глубину и все еще обсуждаю окончательный выбор.

Мой главный вопрос: какие из этих MVC (или MVVM) фреймворков доказали свою эффективность в сочетании с jQuery Mobile.

Мобильный в сторону, мое сильное предпочтение было бы основанной на данных основанной структурой, такой как Knockout, Ember, Angular или Batman (фактически, на основе моих первоначальных экспериментов, мне очень нравится Batman), который автоматически обновляет пользовательский интерфейс, когда слой модели изменяется. Тем не менее, я мог видеть, что это противоречит jQuery Mobile, который также вносит существенные изменения в DOM, также хочет владеть хешем местоположения и т. Д.

Альтернативой может быть использование одной из структур нижнего уровня, таких как рюкзак или Позвоночник. Я предполагаю, что уровень маршрутизации все равно вызовет конфликты, но я мог бы хотя бы использовать уровень модели, контроллера и представления (и особенно упорство REST).

Возможно, существует гибридный подход, в котором инфраструктура MVC, привязанная к привязке к данным, используется для всего, что находится в настольной версии, а слой вида каким-то образом заменен для jQuery Mobile в мобильной версии, все еще используя модель и контроллер слои?

Любые удачи в одной из основанных на привязке данных структур MVC? Любая удача в рюкзаке или спине? Кто-нибудь из них достаточно хорошо работает с jQuery Mobile, который вы бы порекомендовали? Любые другие рекомендации?

Я понимаю, что этот вопрос несколько открыт, без единого правильного ответа, но я чувствую, что это все еще является подходящим вопросом для Stackoverflow.

ответ

2

, так как вы не получили никакого ответа после так долго я могу внести свой вклад только мой голос за две рамки

Backbone.js является классическим, сильное сообщество

Однако мой любимый Ember с точки Desgin из Посмотреть. Одна из его целей Ember.js состоит в том, чтобы сделать тривиальным интегрировать инструменты, которые вы уже используете, и вы увидите функции jquery, упомянутые в некоторых примерах его документации.

Я не уверен, JQuery Mobile, я в основном с нормальным JQuery, но до сих пор хорошо выглядеть

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

+0

Спасибо за ваш ответ ,Я не работал над этим проектом некоторое время, поэтому еще не выбрал последний стек. Я уверен, что Ember.js можно заставить работать, но я все же немного скептически отношусь к тому, что это может быть не идеальная комбинация с jQuery Mobile. Кроме того, производительность может быть проблемой для мобильных устройств. Прямо сейчас я склоняюсь к использованию Spine (я уверен, что Backbone будет хорошо). –

+0

Hi Mirko. Есть много библиотек, которые не предназначены для того, чтобы хорошо играть друг с другом. Я слышал, как многие люди хвалят Ember, потому что он отлично играет с jQuery, лучше, чем Backbone. При поиске MVC с Javascript следует помнить, что вы увидите много микро-фреймворков. Магистраль является более поздней, легкой и эффективной. Другие, такие как Ember, стараются быть полным решением, сосредоточенным на одной проблеме. Его производительность немного хуже (по уважительной причине), и я не слышал о том, насколько хорошо он подходит для мобильной среды. – SystematicFrank

1

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