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

BackboneJS против JavaScriptMVC против KnockoutJS

Я хочу использовать фреймворк JavaScript для сложного веб-приложения. Я смотрел Backbone.js, knockout.js и JavaScriptMVC. Являясь довольно новым для веб-приложений с поддержкой JavaScript на стороне клиента, я не уверен, какой из них выбрать. У каждого из них есть совершенно другой подход, чтобы разделить проблемы. Model/View/Controller vs Model/View/ViewModel vs Model/View/Collection.

Что вы, ребята, думаете? Каковы решающие факторы? Какой из них будет проще всего подобрать? Каким был ваш опыт?

4b9b3361

Ответ 1

Вы не можете ошибаться в любом случае, особенно если вы строите сложный интерфейс javascript. Если вы решите не использовать их, вы, вероятно, столкнетесь с большим количеством сложного для отладки кода. Мне лично нравится Backbone, но они оба легкие и позволяют вам свободно использовать язык шаблонов (я использую шаблоны JQuery). Я думаю, что заставило меня выбрать Backbone, так это то, как Knockout смешивал свои компоненты с вашим html:

<span data-bind="text: myItems().count"></span>

Возможно, вы сможете избежать использования конструкций, подобных описанным выше, с помощью Knockout, но этого было достаточно, чтобы бросить меня к Backbone. Мне также понравилось, что у позвоночника есть зависимости как от подчеркивания, так и от jquery, которые уже использовались в моих проектах.

Ответ 2

На основе комментария HostDude - это функция, а не ошибка. Часть концепции нокаута заключается в том, что между вашим контроллером/моделью и представлением находится слой. Это позволяет нам модулизовать наш HTML-код на небольшие компоненты, которые включают отображение данных.

Итак, да, JS-привязки смешаны, но они не смешиваются с необработанным HTML-кодом, скорее, они добавляются к малым модульным шаблонам JQuery. Добавляя эти привязки данных в явном виде на уровне шаблона jQuery, мы имеем полный контроль над тем, что сопоставимо с тем, что не нарушает нашу базовую модель данных приложения вообще. Я люблю Knockout!