Ответы пользователя по тегу Knockout.js
  • Knockout или Angular?

    @lega
    Тут описал небольшое сравнение Angular.js и Knockout.js.
    Ответ написан
    Комментировать
  • Какие преимущества у AngularJS vs KnockoutJS?

    @lega
    Да и по производительности он уступает:

    Есть ещё такой тест который показывает обратное: plnkr.co/edit/leZaT043Yffz4LfG8Ykq?p=preview

    Я перешел от Knockout.js к Angular.js (а потом и к Angular Light), вот некоторые минусы первого:
    1) В ng есть декларативный биндинг, в ko нет (раньше не было), хотя недавно натыкался на какие-то решения.
    2) Из-за того что в angular dirty check - не нужно заворачивать данные в observable, это очень удобно.
    3) В ng можно без проблем оперировать с данными (большие вычисления), в ko для этого нужно достать данные из observable, провести операции, потом положить обратно.
    4) Так же в ko происходит "мгновенное" обновление, что несет 2 неприятности: 1) нагрузка, возможно не нужно обновлять именно сейчас 2) иногда нужно учитывать порядок обновления данных, т.к. зависимые расчеты могут сломаться.
    5) Есть ещё не маленькая неприятность, когда в большом проекте нужно сделать доработку - и нужно сделать обычную переменную как observable - заставляет рефакторить, или наоборот перевести из observable в обычную для оптимизации, этой проблемы в angular нет.

    Можете так же посмотреть Angular Light, он попроще, + есть некоторые полезные фичи которых нет в Angular.js
    Ответ написан
  • Как осуществить переход между списком и детальной страницей (MVVM)?

    @lega
    Сейчас при каждом возврате "назад" список ререндерится.
    Зачем? Его можно просто скрывать. Там скорее всего так и сделано.
    Ответ написан
    2 комментария
  • Angular vs Knockout на больших списках

    @lega
    Для Angular, в массиве нужно хранить словари вместо чисел, иначе вместо теста "update" будет "fill", это из-за того, что в простые типы нельзя поместить идентификатор и для ангулара список с числами будет каждый раз как новый, и вместо "update" сначала происходит удаление DOM, а потом "fill".
    Поправил тест, для Angular.js улучилось время "updating", так же добавил тест для Angular Light:
    jsfiddle.net/lega911/ZUne7
    Ответ написан
    Комментировать