Задать вопрос
Chvalov
@Chvalov

Какой шаблонизатор более востребован на рынке Spring?

Посоветуйте востребованный на рынке фриланса шаблонизатор для Spring, желательно с подобным html синтаксисом.

Смотрю в сторону Mustache, но хочу выбрать именно тот что более востребован и стабилен, чтобы через месяц-второй не учить что-то другое
  • Вопрос задан
  • 7656 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
@ruslanys
Смешной вопрос. Шаблонизатор - лишь инструмент представления. Не бойтесь учить новое.

Что касается выбора - Thymeleaf неплох, но есть нюансы.
Например, Thymeleaf дает "рабочую" верстку, над которой дизайнер и программист могут работать параллельно, но это, пожалуй, единственный плюс.
Из минусов, которые лично я отметил:
1. Если на клиенте используется, например, Angular.JS, то в атрибутах тегов у вас будет несусветная каша, условно:
<td th:text="${user.name}" ng-show="shouldShowUsername()">Username</td>

В реальном проекте, где количество атрибутов нужно умножить на X - это оказалось трудно поддерживаемым .
2. Учитывая тот факт, что Thymeleaf директиво-ориентированный шаблонизатор, его scope - это тег. К сожалению, не все теги одинаково хороши. А иногда их вовсе нет!
Скажем, вы хотите отправлять plain-text сообщения по e-mail. Вам не нужна верстка и вы генерируете вовсе не HTML. В таком случае, с Thymeleaf будут проблемы, т.к. исключительно теги определяют его SCOPE. По-моему как-то костыльно эту проблему можно решить типа th:removetag, но тоже не всегда. В одном из случаев мы пытались генерировать блок стилей в head страницы и у Thymeleaf, насколько я помню, были проблемы с этим (возможно, починили).

В любом случае, мы очень любили Thymeleaf и были его ярыми последователями, пока не столкнулись с концептуальными ограничениями завязки на директивы. Весь проект переписали на Freemarker (благо не много было генерации HTML на бекенде) - счастливы.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Djaler
@Djaler
Сеньор-помидор
Thymeleaf
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы