JQuery Mobile & JS Frameworks - PullRequest
       22

JQuery Mobile & JS Frameworks

1 голос
/ 07 ноября 2011

На моей работе у нас уже есть веб-приложение ASP.NET, и мы дублируем некоторые страницы и функции, чтобы лучше ориентироваться на наших мобильных пользователей.Для этого мы используем инфраструктуру jQuery Mobile и веб-формы ASP.NET.

Поскольку это предназначается для мобильного Интернета, я бы хотел, чтобы он был быстрым и легким, что означает отключение состояния просмотра, загрузкасписки по требованию (когда они открыты), и я хотел бы исключить обратные сообщения (раздражает и плохо работает с jQuery Mobile).Конечно, это означает, что нужно выполнять намного больше работы на стороне клиента.

Одна из страниц немного сложна, она позволяет пользователю регистрировать элементы, однако ее макет полностью настраивается.Перед регистрацией пользователь может определить, какие поля он хочет отслеживать.Некоторые из этих полей назначаются системой, а другие создаются пользователем.Они могут выбрать флажок, раскрывающийся список, поле даты, переключатель, текстовое поле или список.Некоторые поля также связаны с другими полями, что означает, что пользователь может выбрать элемент в одном раскрывающемся списке, который затем перезагрузит другой раскрывающийся список со связанными данными.Пользователь также имеет возможность добавлять неограниченное количество дополнительных полей (раскрывающихся списков), находясь на реальной странице, используемой для регистрации своего элемента.Как только страница заполняется пользователем, выбранные значения полей сохраняются на сервере в таблице базы данных.

Я подумал, что это будет отличным шансом использовать JS Framework, такую ​​как Knockout.js, зависимостьОтслеживание отлично подходит для попыток синхронизировать и перезагружать списки по мере необходимости на основе выбора, сделанного в других списках.Хотя меня немного беспокоит то, как он справится с тем фактом, что макет формы является динамическим и может быть изменен после отображения (кто-нибудь знает, может ли он справиться с этим?).

Так что я начал искать jQueryMobile & Knockout.js и, по-видимому, есть проблемы, обходные пути, ограничения и т. Д., Когда они работают вместе, и я видел то же самое с Backbone.js

У кого-нибудь есть какие-либо предложения с этим?Стоит ли пытаться использовать какую-то JS Framework с jQuery Mobile?Может ли JS Framework обрабатывать форму, которую я пытаюсь создать без необходимости прыгать через обручи?Мне лучше поискать какой-нибудь плагин для отслеживания зависимостей и просто использовать его, и если да, можете ли вы предложить какой-либо, который будет подключаться к моему объекту модели и другим элементам управления на странице и работать правильно с jQuery Mobile?

1 Ответ

1 голос
/ 07 ноября 2011

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

Что касается вашей сложной страницы, это все выполнимо.

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

  • Динамический макет - в Knockout нет прямой связи между DOM и данными.Операторы привязки данных Knockout позволяют подключать новый контент к его данным во время выполнения.В настоящее время это хорошо работает в моем текущем приложении.

  • Чтобы узнать о неограниченных добавлениях, ознакомьтесь с демонстрационной программой Contacts Editor .Кажется, у него есть функции для выполнения неограниченных требований

В общем, с помощью нокаута, когда я перешел на использование ajax для обработки всех моих требований к данным, все стало намного проще.

Что касаетсяиспользуя нокаут с мобильным jQuery, нокаут теперь является частью новых выпусков Asp.Net Mvc4, предварительного просмотра для разработчиков.Насколько я понимаю, нокаут является ключом к дизайну MVC по созданию одностраничного веб-сайта в автономном режиме, где данные хранятся локально, а затем динамически добавляются на отображаемую страницу.Не могу найти ссылку, но знаю, но я продолжу искать и опубликовать изменения позже.

Надеюсь, это поможет.Также проверьте ссылки на домашней странице knockoutjs.net .-

...