Доклад «xjst — низкоуровневый js-шаблонизатор» Андрея Мищенко (druxa) и Сергея Бережного (veged) на пЯТЬнице Яндекса 21.04.2011. XJST — это шаблонизатор, обрабатывающий данные в формате JSON, семантика которого имеет много общего с языком XSL. В докладе описывает синтаксис XJST, который является надмножеством JS, а также объясняются особенности работы компилятора из XJST в чистый JS.
Презентация в PDF: http://narod.ru/disk/19671069001/xjst.pdf.html
какова производительность преобразования? к примеру какое время нужно для преобразования массива 1000х10 в html таблицу.
Как минимум важно учитывать баланс между выразительностью и производительностью. Ещё очень сильно всё зависит от конкретной программы, даже на асемблере можно написать медленно работающий код. Вопрос про конкретное железо можно даже не рассматривать, хотя тоже понятно, что массив 1000x10 в html таблицу будет по разному преобразовываться на разном железе.
У нас есть такие данные, позволяющие нам судить о приемлемой производительности: страница результатов поиска переписанная с tt2 на bemhtml (xjst) стала работать минимум в два раза быстрее. Отдельно у нас есть требования к выразительности шаблонов, про которые я подробно рассказывал на последнем YaC (скоро будет доступно видео) и которым полностью не удовлетворяет ни один из известных шаблонизаторов.
Возможно ли использовать шаблоны bemhtml совместно с django?
Правильно ли я понимаю, что в этом случае django view должен генерить JSON для шаблонов bemhtml, производя какую-то выборку из моделей, а темплейты вообще не будут использоваться?
Для этого нужно уметь исполнять js из python, могу рекомендовать pyv8.
Я посмотрела мастер-классы по BEMHTML, которые были на YaC. Из них я расширила (ну или укрепила) свое представление о концепции BEMHTML, как мега шаблонизаторе.
Но, к сожалению, я до сих пор знаю только как с помощью bem-tools сгенерировать только статический документ для различных технологий, в том числе и html. А как отказаться от темплейтов django в сторону bemhtml - не понятно. Было бы просто супер, если бы ты мог поделиться каким-то примером скрещевания Django и BEMHTML на уровне Hello world. Есть такое?
helloworld для django+bemhtml у нас пока нет, но внутри у нас используется такая связка и я постараюсь опубликовать пример
основная задача, это научиться исполнять js из python (например с помощью pyv8), после этого нужно взять файл page1.bemhtml.js и исполнять из него функцию BEMHTML.apply(mybemjson)
Очень жду готового примера, хочу попробовать применить БЭМ на практике
А сейчас уже есть приеры преобразования из bemhtml в html???