Javascript MVC Framework + jQuery Mobile - PullRequest
10 голосов
/ 26 февраля 2012

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

Мне бы хотелосьиспользовать 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 ]

2 голосов
/ 22 апреля 2012

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

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

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

Я не уверен насчет jQuery MobileЯ использовал в основном с обычным jQuery, но пока хорошо выгляжу

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

1 голос
/ 28 января 2014

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

...