Comments 52
в копилку: embeddedjs.com/
+1
UFO just landed and posted this here
Примеры кода были бы гораздо полезнее и уместнее, нежели скрины сайтов.
+35
Да и сравнение возможностей и недостатков было бы кстати.
+11
Об этом автор специально упомянул в конце: «Я не пытался приводить примеры, потому что множество ссылок на официальные страницы содержат демонстрации.» И это действительно так, если походить по ссылкам. А демонстрации с живыми примерами типа. как сделано в jsFiddle — гораздо удобнее, чем масса текстов, которые всё равно полными не будут.
Чего здесь не хватает — это ссылок на статьи, относящиеся к перечисленным шаблонизаторам. Даже на Хабре о части из них есть много интересных статей. Например:
Итератор в шаблонизаторе doT.js по объектам с фильтрацией 2013,
Как использовать Handlebars, 2014,
Сборка клиентских JavaScript шаблонов (Hogan) 2012,
Вышло обновление JavaScript шаблонизатора ECT 2012,
Навигация без перезагрузки используя expressjs, jade и History.js 2012
Чего здесь не хватает — это ссылок на статьи, относящиеся к перечисленным шаблонизаторам. Даже на Хабре о части из них есть много интересных статей. Например:
Итератор в шаблонизаторе doT.js по объектам с фильтрацией 2013,
Как использовать Handlebars, 2014,
Сборка клиентских JavaScript шаблонов (Hogan) 2012,
Вышло обновление JavaScript шаблонизатора ECT 2012,
Навигация без перезагрузки используя expressjs, jade и History.js 2012
-10
А зачем автор скриншоты вставил, если их тоже можно увидеть просто перейдя по ссылке?
+12
Сервис публикации статей скриншоты поддерживает, а живые виджеты — нет (самое большее из кодов — я бы хотел увидеть перечисление синтаксических конструкций для каждого из 15). По рисункам главных страниц можно увидеть, насколько интересны первые страницы и, в частности, есть ли на них живые примеры. Иногда по скриншоту видно, что есть. Да и вступительные слова, которые всегда есть на главной, перепечатывать не надо.
Ещё, что могло бы быть интересным — это сравнительные бенчмарки шаблонизаторов. Но чтобы сделать массированный бенчмарк или хотя бы проверить имеющийся, нужно потратить несколько часов, а интерес к ним — весьма частичный. Как пример, могу привести случай в комментариях к статье "Пишем свой JavaScript шаблонизатор" — там сравнивались (Mustache, JsRender, Underscore JS, doT.js, MaskJS, последнее сравнение), когда привели по шаблонизаторам бенчмарк с неправильными показателями. Это меня заинтересовало, и я прошёлся по шаблонам, сделал исправления и проверки по 5-6 шаблонизаторам. Они проверяли какой-то простой частный шаблон. Но, всё же, зто — слишком частный вопрос и предмет отдельной статьи — сравнение скоростей.
Ещё, что могло бы быть интересным — это сравнительные бенчмарки шаблонизаторов. Но чтобы сделать массированный бенчмарк или хотя бы проверить имеющийся, нужно потратить несколько часов, а интерес к ним — весьма частичный. Как пример, могу привести случай в комментариях к статье "Пишем свой JavaScript шаблонизатор" — там сравнивались (Mustache, JsRender, Underscore JS, doT.js, MaskJS, последнее сравнение), когда привели по шаблонизаторам бенчмарк с неправильными показателями. Это меня заинтересовало, и я прошёлся по шаблонам, сделал исправления и проверки по 5-6 шаблонизаторам. Они проверяли какой-то простой частный шаблон. Но, всё же, зто — слишком частный вопрос и предмет отдельной статьи — сравнение скоростей.
-1
А как насчет twig.js?
+2
Если для фронтенда, то лучше использовать nunjucks. Меньше и есть возможность прекомпиляции.
0
Ну я из всех названий в посте слышал только про Mustache да Handlebars. И то только названия, а не что это такое :) Вот и весьма удивился, что библиотека «на слуху» вообще не попала в список рассматриваемых.
0
То же самое можно сказать про DoT.js. К тому же, он и на бекенде, и с поддержкой модульности.
+1
UFO just landed and posted this here
UFO just landed and posted this here
doT плагин: plugins.jetbrains.com/plugin/7327?pr=webStorm
Он конечно не подхватывает scoupe данных, но хотя бы подсвечивает корректно исходник.
Он конечно не подхватывает scoupe данных, но хотя бы подсвечивает корректно исходник.
0
Синтаксис Handlebars и Mustache поддерживается IDE от JetBrains из коробки (WebStorm, PhpStorm, IntellyJ)
+1
jsrender недостаточно популярен, видимо )
+4
Странно, что не упомянуты решения с поддержкой двухстороннего связывания, как то: rivets.js, ractive.js.
+2
UFO just landed and posted this here
Я пока имел практический опыт только с rivets, и, видимо, буду переходить на ractive, потому что подводных камней очень много.
0
UFO just landed and posted this here
А Вы на размер файла ractive посмотрите.
0
UFO just landed and posted this here
Мы точно об одном и том же ractive говорим?
Runtime minified — 109.339 kb
ractive minified — 136.931 kb
Несжатые там что-то типа 300+ кб
Runtime minified — 109.339 kb
ractive minified — 136.931 kb
Несжатые там что-то типа 300+ кб
0
А BEM (http://bem.info/) почему стороной обошли?
-3
Статья была бы еще лучше, если бы по каждому шаблонизатору был пример кода.
0
Было бы огромным плюсом к статье иметь сравнения по скорости отрисовки каждым шаблонизатором.
0
Кстати, с некоторых пор KendoUI стал бесплатным и опенсоурс =) www.telerik.com/download/kendo-ui-core. Правда не все там есть, но то что открыли ядро это уже круто.
0
По моему субъективному опыту, на десятках очень сложных одностраничных приложний, от любых шаблонизаторов оказывалось больше тормозов, чем пользы. Я один такой? Что я не понимаю в этом мире?
+2
UFO just landed and posted this here
UFO just landed and posted this here
Обычно гораздо быстрее изменить одно-два свойства в DOM, чем ререндерить весь шаблон. Ну и да, конкатенация строк во многих браузерах иногда тоже прилично съедает. Плюс имхо DOM это более «программистский» путь, можно создать множество своих абстракций, использовать наследование, миксины, другие плюшки. Но это лишь моё мнение из «чужого монастыря» :)
0
ReactJS от Facebook оперирует не строками и очень шустрая штука.
0
UFO just landed and posted this here
UFO just landed and posted this here
Еще очень хорош paularmstrong.github.io/swig/
Удобно, когда и бекэнд(python+jinja, php+twig) и фронтэнд могут использовать одно и тоже.
Удобно, когда и бекэнд(python+jinja, php+twig) и фронтэнд могут использовать одно и тоже.
+1
А как же EJS?
0
Извините за оффтоп, речь пойдёт про Java.
К слову, первая картинка взята из документации FreeMarker. Это очень интересная альтернатива JSP, я пользуюсь с удовольствием.
К слову, первая картинка взята из документации FreeMarker. Это очень интересная альтернатива JSP, я пользуюсь с удовольствием.
0
Еще одни очень интересный шаблонизатор plates. Он не очень популярный но его идея привязки данных к HTML уникальна. Думаю что Knockout.js взял от туда много. Я сам ни когда им не пользовался, не удавалось но очень хотелось бы. При таком подходе, в шаблонах вообще нет ни чего лишнего и ни какого намека на <% или {{ все выглядит как просто голый HTML.
+2
Раньше массовое изобретение шаблонизаторов было уделом php-программистов.
0
chibi каким местом шаблонизатор? Пролистал всю доку, судя по ней, это jQuery-подобная либа для траверсинга дома, навешивания обработчиков и AJAX. Proof me wrong.
+1
Про nunjucks стоит сказать, что он почти полностью такой же, как шаблонизатор Jinja2 из Python, который очень популярен.
0
Форк Smarty на js ещё забыли
github.com/umakantp/jsmart
github.com/umakantp/jsmart
0
Спасибо.
0
Sign up to leave a comment.
15 шаблонизаторов для фронтенд-разработки