Erfahrungen mit Thymeleaf als Frontend-Technologie

Web-Apps würzen mit Thymeleaf

Sascha Zak
© iStockphoto.com/eyewave

Für kleine und mittelgroße Projekte ist es oft nicht sinnvoll, auf die Mächtigkeit und damit einhergehende Komplexität eines mit allen Funktionen ausgestatteten Anwendungsservers zu setzen. Vielmehr versprechen klare, leichtgewichtige Architekturen einen entscheidenden Vorteil in Bezug auf Produktivität, Wartbarkeit und Skalierbarkeit. Leichte Küche ist gefragt, auch in Bezug auf die Frontend-Technologie. Template-Engines haben hierfür den passenden Ansatz mit der Aussicht, ohne umständliche Kompilierung in Servlets und ohne Managed Beans auszukommen. Thymeleaf ist so eine Template-Engine, die verspricht, es mit dem Funktionsumfang zum Beispiel von JavaServer Pages (JSP) aufnehmen zu können und dabei performant, erweiterbar und einfach integrierbar zu sein.

Der folgende Beitrag stellt Thymeleaf als Template-Engine und die Erfahrungen im Rahmen eines Projekteinsatzes bei der adesso AG vor, betrachtet Kernfunktionalitäten und Fallstricke sowie die Integration in einen Spring-basierten Technologiestack.

Die Bühne für den ersten richtigen Auftritt von Thymeleaf bei adesso war ein kleineres Projekt, das es zur Aufgabe hatte, mit einem kleinen Team in wenigen Wochen ein Web-Frontend für eine REST-basierte Kunden- und Produktverwaltung zu implementieren. Zum Einsatz kommen sollten Spring MVC und Spring Security, als Laufzeitumgebung war ein Tomcat vorgesehen. Allein beim Einsatz von JSP als Frontend-Technologie gab es Bedenken. Da JSP nahezu uneingeschränkt die Vermischung von Programmcode und Darstellung erlauben, führt dies erfahrungsgemäß früher oder später zu einem Wartungsproblem. „Spaghetticode“ war das Stichwort. Ein Kollege brachte schließlich Thymeleaf ins Spiel, ohne selbst über nennenswerte Erfahrungen zu verfügen. Nach einer kurzen Evaluationsphase stand fest: Thymeleaf sollte seine Chance als Würze in unserer leichtgewichtigen Web-App bekommen.

(Lesen Sie den kompletten Artikel im Java Magazin 12.14)

Geschrieben von
Sascha Zak
Sascha Zak
Sascha Zak ist Senior Software Engineer bei der adesso AG im Compentence Center Telematik in Berlin. Schwerpunktmäßig beschäftigt er sich mit Architektur und Entwicklung von webbasierten Systemen sowie Anwendungen im Umfeld von Smartcards und der elektronischen Gesundheitskarte.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: