Я занимаюсь интеграцией Магистральной и Магистральной.Марионетки в существующий проект веб-приложений. В настоящее время мы планируем оставить все существующие функциональные возможности в проекте, но с любой новой функциональностью мы воспользуемся структурированием Backbone и принципами Marionette. Одним из первых заказов является решение о библиотеке визуализации HTML-шаблона, а также решение для привязки данных для этих шаблонов. Раньше мы использовали JsRender и JsViews для всех наших потребностей в шаблонах и привязки данных, но мы готовы изучить новые возможности для нашей новой функциональности. Поэтому я в основном изучал различные решения и теперь нуждаюсь в советах или мыслях о том, что выбрать. Вот то, что я посмотрел на до сих пор:Магистраль: привязка модели к шаблону и шаблона к модели
Pros: Кажется следовать идею Backbone по разделению на озабоченности, которая помогает сохранить ваши шаблоны очень «чистый».
Против: Похоже, вам нужно написать немного больше кода в своих представлениях, чтобы определить привязки. Также, кажется, не хватает возможности выполнять условный рендеринг, поэтому вам нужно всегда отображать полный шаблон и просто переключаться на отображение определенных элементов.
Плюсы: Ручки немного больше данных параметров в шаблоне связывания, не делая его слишком грязно.
Минусы: Также, кажется, не хватает условного рендеринга.
Плюсы: Ручки всех видов связывания данных потребностей с помощью атрибутов.
Минусы: Легко начать «загрязнение» шаблона конверторами. Необходимо добавить еще один шаг для создания моделей представления нокаутов из моделей Backbone.
Pros: Подобно способностям KNOCKOUT, но с другим синтаксисом. Обрабатывает условный рендеринг.
Против: в прошлом мы загрязняли наши шаблоны, добавляя слишком много бизнес-логики в шаблон, но это может быть проблемой нашего развития, которую мы можем исправить. Необходимо создать функциональные возможности для привязки функциональности наблюдаемости JsViews к событиям модели Backbone. Другие библиотеки, такие как StickIt и Knockback, автоматически обрабатывают это.
Мы также рассмотрели Backbone.ModelBinder, который находится где-то в промежутке между StickIt и заклепками.
Может ли кто-нибудь поделиться любыми решениями, которые они приняли, и почему они выбрали один плагин/библиотеку над другим? Я также открыт для других предложений. Благодарю.
Я проверил подчёркивание (смешно, что я не думал, что он включен, как вы упомянули). Я чувствовал, что у нас могут быть такие же проблемы с шаблонами спагетти. Основная проблема заключается в том, что у нас есть несколько разработчиков, работающих над шаблонами, и мы начали переплетать слишком много логики и синтаксиса шаблона в HTML. Поэтому, чтобы заставить нас отказаться от этой привычки, мы решили пойти с Backbone.Stickit. Похоже, что потребуется некоторое время, чтобы привыкнуть к созданию привязок вне шаблона, но, надеюсь, мы выиграем от «чистоты» нашего HTML. Спасибо за ваш вклад. –