Подтвердить что ты не робот

Должен ли я тратить свои усилия на внедрение нокаутов или просмотр jQuery Data Link

Недавно я использовал библиотеку js-библиотеки Стив Сандерсона http://knockoutjs.com/ в моей веб-разработке на стороне клиента. Недавно я узнал, что microsoft предоставил код jQuery для плагина Data Link, который, похоже, дублирует то, что мне нравится в нокауте.


http://weblogs.asp.net/scottgu/archive/2010/10/04/jquery-templates-data-link-and-globalization-accepted-as-official-jquery-plugins.aspx
https://github.com/jquery/jquery-datalink

http://api.jquery.com/category/plugins/data-link/

Должен ли я отказаться от моего кода нокаута и пойти с объявленным и расширенным jQuery?

4b9b3361

Ответ 1

Я бы придерживался "Нокаута" лично - он уже продемонстрировал, что он неплохо работает, он активно развивается, и он сбивает данные, когда вы сравниваете функции. Короче говоря, "Нокаут" кажется готовым к прайм-тайму, в то время как канал передачи данных чувствует себя незавершенным.

(I стресс-тестирование нокаута путем привязки данных к выпадающему списку в массив из 5000 элементов, а также вычисление количества уникальных элементов в массиве и добавление этого к другому элементу, связанному с данными. картина браузера chrome заняла гораздо больше времени, чем привязка данных и обновление.)

Теперь, сказав это, я буду следить за каналом передачи данных и, вероятно, продолжу играть с ним - если он сойдет с земли, это будет очень жизнеспособной альтернативой. (Учитывая успех jquery-tmpl, другая важная часть, выходящая из сотрудничества Microsoft-JQuery.)

Лучше сравнить Knockout с будет documentcloud backbone. На следующей неделе я смотрю на позвоночник, поэтому на данный момент у меня нет хороших рекомендаций, но меня очень впечатлило underscore (еще один из их проектов), поэтому я определенно рекомендую изучить его в качестве альтернативы.


Оценка 4 года спустя для тех, кто интересуется

Нокаут использовался в производстве по всем видам проектов в течение многих лет, теперь в версии 3 и имеет здоровую экосистему вокруг него. jQuery.datalink стал JSViews, который все еще находится в бета-версии.

Ответ 2

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

Ответ 3

Обратите внимание, что ссылка на данные jQuery работает только с элементами Form. Knockoutjs работают над многими другими типами привязок, такими как атрибуты, css, что очень полезно.

Ответ 4

ko полезен для моделей pubsub для форм. Чтобы использовать виджеты, нужно написать собственные привязки. ko не поддерживает AJAX напрямую.

основа полезна для сохранения модели через RESTful JSON. Он слабо поддерживает синхронизацию модели/представления: model- > view через шаблон JS. view- > с помощью обработчиков виджетов, которые нужно закодировать.

ko и магистраль не поддерживают проверку напрямую. (Я не считаю bb model.validate(), так как нужно написать код для проверки каждого атрибута.) У них нет концепции типа данных. (у моделей extjs есть типы и проверка. К сожалению, я обнаружил, что extjs ненадежны и несовместимы (привязка данных интегрирована в сетку, но не форму или лист свойств; информация о типе должна быть введена в столбцы сетки и поля формы, хотя это уже присутствующих на модели).)

Даже если вы смешиваете кодовую, основную и jquery-проверку, там написано много кода.

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