2016-08-06 53 views

Odpowiedz

9

Cóż, to jest naprawdę kwestia na podstawie opinii i taka będzie moja odpowiedź :)

Główną różnicą jest to, że JSP są kompilowane do klas serwletów Java, natomiast Thymeleaf odczytuje plik szablonu, analizuje swój DOM, a następnie stosuje do niego model. Wprowadza to narzut wydajności i zapewnia stronom JSP najwyższą wydajność, nawet przy włączonym buforowaniu szablonów Thymeleaf. Z drugiej strony, to sprawia Thymeleaf wiele łatwiej rozwijać się i oto dlaczego:

  • Thymeleaf wykorzystuje zwykły HTML jako szablony. Możesz wybrać czystą metodę HTML5 z atrybutami data-th lub oryginalnymi niestandardowymi nazwami th:. Zaletą zwykłego HTML jest możliwość otwierania go w przeglądarce, co ułatwia pracę projektantów: zarówno projektanci, jak i programiści mogą pracować nad tym samym plikiem.

  • Szablony Thymeleaf mogą być używane bez serwera aplikacji i dobrze współpracują z serwerami osadzonymi. Nie musisz przeskakiwać przez obręcze, aby przeprowadzić testowanie integracyjne szablonów, które można wykonać za pomocą Thymeleaf's own standalone template testing library lub jako część testów funkcjonalnych, np. testy integracyjne kontrolerów Spring MVC.

  • Thymeleaf ma bardziej lekką i wydajniejszą składnię oraz lepszą integrację z ekosystemem Spring. Zaprojektowano go tak, aby integrował się ze Springem od jego koncepcji, ale można go również używać poza wiosną. Znalazłem to przydatne do generowania wiadomości e-mail i generowania raportów.

  • Te szablony umożliwiają świetne ponowne wykorzystanie; możesz tworzyć małe fragmenty szablonów i używać ich ponownie w innych szablonach, co jest ratunkiem w projektach z dużą ilością szablonów. Ma również świetne wsparcie dla layoutu po wyjęciu z pudełka, ale możesz także znaleźć community plugins, jeśli potrzebujesz większej elastyczności/mocy.

Zrzeczenie się: Nie robiłem żadnego rozwoju Thymeleaf od ponad roku, ale z tego, co widzę, nie zmieniło się tak bardzo. Możesz również rzucić okiem na this article ze Springa - chociaż jest trochę stara, ilustruje główne różnice.