Показать сообщение отдельно
  #40 (permalink)  
Старый 15.09.2015, 10:46
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от nerv_
почти тоже самое, что у тебя, только mvvm
Да, уже ознакомился, благодаря тебе. Крутая штука.

Сообщение от nerv_
К, слову, у тебя синхронный рендер? Если да, я уже писал, чем он плох.
Да, синхронный. Имея асинхронный рендерер (мы о коллекциях говорим, да?), прийдется ререндерить всю коллекцию либо запускать проверку того, что изменилось.

Скажем, ты на каком-то этапе добавляешь новый элемент в коллекцию (например, пользователь создает еще один айтем в списке дел). Асинхронный рендерер не знает, что было добавлено или удалено. Ему прийдется рендерить всю коллекцию заново, "перевставляя" старые айтемы в контейнер и рисуя новые, либо запускать проверку данных, исходя из которой колекция отрендерится. Оба варианта чреваты экспоненциально возрастающей сложностью безразборных вставок или сложных проверок.

Матрешка, при вставке нового айтема в коллекцию, рендерит одну ноду и вставляет её, не осуществляя никаких проверок (разве что, на наличие уже отрендеренной ноды). Эта логика очень проста и выигрывает по скорости (именно из-за отсутствия dirty-checking и virtual-dom) у Реакта и подобных.

Такой юз-кейс покрывает (по моей оценке) 99% задач по рендерингу. Оставшийся процент касается приложений с произвольным, частым ререндерингом, пересортировкой всей коллекции и когда данные коллекции всё время заменяются на новые с очень коротким интервалом.

Для таких задач, в списке дел по развитию фреймворка, есть опция, включающая асинхронность: https://trello.com/c/HN0pkjyS/61-deb...ng-and-binding

Так что, асинхронному рендерингу быть, но задача имеет очень низкий приоритет из-за того, что она покрывает очень малую долю задач.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности

Последний раз редактировалось FINoM, 15.09.2015 в 10:48.
Ответить с цитированием