Как стать автором
Обновить

Комментарии 20

Если прекомпилить шаблоны, то разница в скорости нивелируется — можно просто выбирать шаблонизатор на свой вкус и цвет.
это сравнение скомпиленных шаблонов.
Тест на jsperf как раз и показывает, что разницы нет. Не должен какой-то мнимый выигрыш в скорости быть критерием выбора шаблонизатора (оговорюсь: если задача — рендерить по 1000 шаблонов на каждой странице, и не должно тормозить на android 2.1, то на скорость шаблонизатора можно смотреть. Но всё равно адски тормозить при этом будет не рендер шаблонизатора).
Не должен какой-то мнимый выигрыш в скорости быть критерием выбора шаблонизатора

Я об этом и не говорил. Но если нет особых предпочтений, зачем например брать jsRender, который если верить тесту — проигрывает остальным?
Но если нет особых предпочтений, зачем например брать jsRender, который если верить тесту — проигрывает остальным?

Надо прикинуть, нужен ли embedded javascript, посмотреть простоту рендера тех же шаблонов на сервере (если нужно), размеры и активность сообществ, качество документации, количество зависимостей и выбрать в итоге то, что больше подходит для поставленных целей. Только полный обзор может сказать, что какой-нибудь jsRender проигрывает остальным.
Показалось что это php-шный smarty. Надо попробовать, уже устал от генерации тупым out+=«нечто» и затем document.getElementById(«smth»).innerHTML=out… Оно конечно работает, но не красиво, не удобно и постоянно почти одинаковый код.
Оно работает как standanlone? В примерах вижно jQuery.
А есть ли возможность использовать один и тот же Handlebars шаблон на клиенте и сервере в NodeJS/express.?
мне кажется это чуть ли не ключевая фишка ноды, если сразу писать с расчетом на повторное использование — можно сократить вполне много времени. Совершенно точно сюда входит валидация и шаблонизация
Если вы внимательнее присмотритесь, то jQuery используется только для вставки скомпилированного шаблона. Вы вольны использовать что угодно для этой цели — хоть Vanilla JS
Прошу прощения, просто как только вижу $ сразу думаю — ага, JS-а не будет, только обертка.
Да это разве статья? Handlebars — очень мощный шаблонизатор со своими тонкостями и плюсами. То что вы написали — умеет любой простейший шаблонизатор вроде iCanHaz, Mustache и прочих. Где подробности и особенности именно этого шаблонизатора?
Не хватает описания возможностей расширения хелперами, процесс прекомпиляции, оптимизации — там все очень классно. Круче хендлбарсов, мне кажется, только dust.
Handlebars эскейпит данные сам?
HTML — да. Можно настраивать через {{{ или SafeString.
А вот меня, как php разработчика очень привлекает twigjs/swig. Синтаксис повторяет популярный twig, синтаксис которого взят из django, на сколько мне известно.
Синтаксис повторяет популярный twig, синтаксис которого взят из django

> Синтаксис повторяет популярный twig, синтаксис которого взят из smarty, синтаксис которого взят из django

Но да, вы правы, когда писал на PHP — Twig очень нравился
Handlebars — это дополненный Mustache (полностью обратно совместимый), причем изначальный мусташе значительно меньше весит.

Я также советую всем, не пользовавшимся logic-less шаблонизаторами, осознавать то, что это ну вообще не smarty. Это не критика, а лишь предупреждение. Тут нет if/elseif/elseif (только if), нет for (только foreach), нет математики, нет переменных, в мусташе нет даже хелпер-функций. Банальный вывод даты потребует предварительно отформатированную дату заранее положить в модель, а отрисовать какойнить select в форме будет и того веселее
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории