Войти с помощью github
Форум /

Суть: получить виртуальное BEM-дерево в виде Immutable BEMJSON, из которого получать реальный (а может виртуальный) DOM тогда, когда меняется BEMJSON.

Например, с помощью этого: https://github.com/facebook/immutable-js

Цель: Получить виртуальный слой в памяти с деревянной структурой ради оптимизации отрисовки и в привычном окружении (аля реакт, но в бэм терминах).

Pros/cons?

upd: Реализация может быть такой:

  • На морду вместе с HTML выгружаем каким-то образом BEMJSON вместе с HTML (например, в data-bemjson как есть или более разумно подготавливая атрибуты для каждой дом ноды c сущностью — трехпроходная шаблонизация?);
  • На морде при инициализации восстанавливаем BEMJSON дерево, используя этот атрибут;
  • Восстановленое дерево засовываем в Immutable.Map(restoredBemjson);
  • Все изменения состояний и контента делаем через i-bem и через этот объект;
  • Отрисовываем Пушим изменения в DOM, если объект поменялся (если a.set('key', 'newvalue') !== ahttps://github.com/facebook/immutable-js#the-case-for-immutability);
  • ...
  • PROFIT!!!11

Что-то упустил?