68балла

Backbone JS

53балла

Knockout JS

Победитель при сравнении
Backbone JS
Knockout JS
vs
vs

52 фактов в сравнении

Backbone JS vs Knockout JS

Backbone JS
Knockout JS

Почему Backbone JS лучше чем Knockout JS?

  • 24KB меньший размер файла без зависимостей
    ?

    19KBvs43KB
  • Поддерживает маршрутизацию (навигацию) и создание вложенных ссылок
    ?
  • Может быть вынесено на сервер
    ?
  • Поддерживает частичный просмотр
    ?
  • Может быть дополнен популярным плагином для того, чтобы иметь двустороннюю привязку данных
    ?
  • Хорошо интегрируется с другими библиотеками для включения Promises /А+ поддержки
    ?
  • Имеет популярный шаблонный проект
    ?
  • 120 больше плагинов
    ?

    153vs33

Почему Knockout JS лучше чем Backbone JS?

  • Имеет двустороннюю привязку данных
    ?
  • Поддерживает одностороннюю привязку данных
    ?
  • Поддерживает функции вычисления свойств
    ?
  • Расширяет HTML
    ?
  • 2 меньше зависимостей
    ?
  • Поддерживает 1 раннии версии Internet Explorer
    ?

    6vs7
  • Имеет специальные средства отладки
    ?

Общая информация

Имеет механизм для фильтрации просмотров, на основе переменных (например, при поиске) без необходимости написания дополнительных кодов.
Движок шаблонов позволяет легко и гибко создать UI.
Позволяет использовать функции свойства для вычисления свойств объектов.
JSX - это шаблонный движок, который позволяет разработчикам писать разметки непосредственно в их код, который затем живой или предварительно скомпилированный в обычный JavaScript. Это исключает разделения между разметкой и кодом и предлагает увеличение скорости для языков шаблонов на основе строки.
Расширяет HTML
Backbone JS
Knockout JS
Некоторые люди рассматривают это как преимущество, так как это позволяет избежать накладных расходов из другого языка шаблонов.
Лицензия MIT License является очень разрешающей лицензией, которая позволяет все виды использования, в том числе бизнес-использование, без гарантии.
Может быть использован для замены части другой структуры, не удаляя существующих функций.
Позволяет, для установления, просматривать щаблоны в верхнем уровне просмотра внутри шаблона.
Имеет официальный или хорошо известный шаблонный проект, который выкладывает рекомендуемую структуру файлов и позволяет разработчикам начать работу быстрее.

Плагины

Имеет плагин, который включает в себя объекты для быстрого создания просмотра анимации.
Плагины предлагают простой способ расширить функциональность или интегрироваться с другими сервисами. Большое количество плагинов может указывать на активное сообщество пользователей. Учитываются только официальные плагины.
Это показывает, что программное обеспечение имеет живую экосистему, большую поддержку сообщества и разрешение для более гибкого и быстрого развития.
Этот плагин, чтобы помочь проверить входные данные клиента, перед тем, как они обрабатываются или отправляются на сервер. Хотя это не заменит проверки на сервере, но может значительно улучшить пользовательский опыт.
Включает утилиты для подддержания моделей в синхронизации с их представлением на сервере, без необходимости написания шаблона jQuery и Аjax.
Имеет плагин для подддержания моделей в синхронизации с их представлением на сервере, без необходимости написания шаблона Аjax.
Поддерживает анимацию
Backbone JS
Knockout JS
Включает объекты для легкого просмотра анимации.
Имеет плагин, который предлагает простую функциональность для синхронизации моделей с HTML5 LocalStorage.

Библиотеки и Системы управления пакетами

Не требует и не рекомендует специального использования конкретной библиотеки (например, JQuery, MooTools, Zepto ) для обработки DOM манипуляций и может быть использован с той, которая предпочтительней для разработчика.
AMD библиотеки позволяют легкое, модульное, чистое программирование. Если структура не работает с такими библиотеками, возможно, есть некоторые другие средства, чтобы модулировать ее компоненты и устранять зависимости, такие как Dependency Injection.
Bower прост в использовании, как npm менеджер пакетов для сетевых приложений.
Менеджер пакетов может также использоваться для управления фронтенд скриптами.
Включен jQuery Lite
Backbone JS
Knockout JS
Использует JQuery Lite элементы там, где необходимы манипуляции DOM. Таким образом, разработчики получают JQuery с удобными вспомогательными функциями, без необходимости включать в себя всю библиотеку. Во многих случаях, это устраняет зависимость проекта от JQuery
Включен Underscore.js Library
Backbone JS
Knockout JS
Имеет популярные утилиты библиотеки underscore.js как зависимость. Underscore включает в себя вспомогательные функции для манипуляций списком и функционального программирования.

Привязка данных

Модели и представления могут быть привязаны друг к другу для обновления.
Объекты могут быть связаны для автоматического обновления при изменении наблюдаемого объекта.
Это упрощает передачу данных между приложением и REST-Services или LocalStorage. Это также снижает сложность getter и setter функций.
Примеси - это технология программирования, которая позволяет различным объектам иметь общие поведения, без необходимости объектно-ориентированного наследования.
Может быть дополнен для поддержки обновления друг другом модели и представления. Это увеличивает размер файла, но добавляет больше гибкости в работе.
Модели просматриваются для изменений. Это хорошо известный шаблон. Может быть более производительным, чем dirty-checking в некоторых случаях.
Использует Dirty-Checking
Backbone JS
Knockout JS
Проверяет наличие изменений и обновляет соответствующие поля. Может быть более производительным, чем наблюдения, в некоторых случаях.

Производительность

Меньший размер файла означает более быстрое время загрузки.
Маршрутизация позволяет взаимодействие с браузером URL. Это очень важно для положительного опыта пользователя, если вы создаете одностраничное приложение.
Использует Promises
Backbone JS
Knockout JS
Имеет внутреннюю реализацию Promises/А+ спецификации. Promises -это популярная альтернатива для обратных вызовов при работе с ответами серверов.
Поддерживает шаблоны, которые могут быть предварительно вынесены на сервер. Это возможно увеличивает скорость страницы, особенно на устройствах с низкой вычислительной мощностью.
Это значительно повышает crawlability поисковой системы. Это возможно увеличивает скорость страницы, особенно на устройствах с низкой вычислительной мощностью.
Это улучшает проверяемость и модульность.
Чем меньше зависимостей, тем меньше дополнительных скриптов включено, как правило, в результате чего меньше ресурсных затрат и быстрее загрузка.
Изменения модели не сразу появляется в обновлении, но в очереди и в качестве группы. Это может быть намного более производительным, чем мгновенные обновления просмотра.
Позволяет использовать библиотеки JQuery Deferred для поддержки Promises. Promises -это популярная альтернатива для обратных вызовов при работе с ответами серверов.

Какие MV* фреймворк лучше?

Показать все
This page is currently only available in English.