Ответы пользователя по тегу HTML
  • Какой шаблонизатор более востребован на рынке Spring?

    @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 на бекенде) - счастливы.
    Ответ написан
    Комментировать