52балла

Knockout JS

Knockout JS
vs

Обзор Knockout JS: 52 фактов и особенностей

Knockout JS

Почему Knockout JS лучше чем другие?

  • Уменьшенный размер файла, исключая зависимости
    ?

    43KBvs75.64KB
  • Поддерживает версии Internet Explorer
    ?

    6vs7.33

Какие сравнения самые популярные?

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

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

Плагины

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

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

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

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

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

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

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

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

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