Grüße für den Tag, ich habe gerade versucht, Vor- und Nachteile der Verwendung des Apache Tiles Frameworks herauszufinden. Bitte lassen Sie mich Ihre wertvollen Vorschläge, Kommentare und Inputs dazu wissen.
Antworten
Zu viele Anzeigen?(ähnlich wie dieses)
Mit Tiles scheint es, dass wenn ich 100 Aktionen habe, ich 100 JSP-Dateien erstellen muss und 100 Definitionen in der tiles.xml erstellen muss - wahr, leider
Das stimmt nicht. Und ein weit verbreitetes Missverständnis über Tiles.
Eine solche Einstellung ist ein Überbleibsel aus den Tiles-1-Tagen. Mit Tiles-2 ist dies wirklich nicht mehr notwendig, als Platzhalter eingeführt wurden, und vor allem mit Tiles-3 zusammen mit dem OptionsRenderer.
Hier ist ein Tutorial, das Ihnen helfen wird mit
- der Integration von Spring zu Tiles,
- Definitionen mit Platzhaltern,
- Implementieren eines Fallback-Musters mit dem OptionsRenderer, und
- der Komposition von Definitionen.
Ich verwende Apache Tiles für ein nicht-kommerzielles Projekt und werde jede Woche weniger begeistert davon. Dies kann jedoch durch sehr grundlegende Dokumentation, zu wenige Beispiele (und keine Beispiele zu fortgeschrittenen Themen) und eine ziemlich kleine Community verursacht werden.
Zusätzlich empfehle ich Ihnen, sich diese Ressourcen anzusehen:
-
Bessere Alternative zu Apache Tiles - Mit Tiles scheint es, dass ich bei 100 Aktionen 100 jsp-Dateien erstellen und 100 Definitionen in der tiles.xml erstellen muss - leider wahr
-
http://blog.springsource.org/2012/10/30/spring-mvc-from-jsp-and-tiles-to-thymeleaf/ - Der Ansatz von Apache Tiles ähnelt benutzerdefinierten Tags und hat daher die gleichen Vor- und Nachteile. Es gibt einige Aktivitäten im Apache Tiles-Projekt, aber es ist definitiv nicht so lebendig wie ThymeLeaf
Zusammenfassend - Vorteile:
- Fähigkeit, komplexe (
zusammengesetzte
) Ansichten aus einfachen Ansichten aufzubauen, Wiederverwendung von UI - Es existiert schon seit einiger Zeit und wird in einigen großen Frameworks unterstützt, wie z.B. Spring (es ist einfach damit zu beginnen)
Nachteile:
- Kleine Community, meiner Meinung nach nicht sehr aktiv
- Grundlegende Dokumentation, wenige Beispiele, schwierig, wertvolle, aktuelle Ressourcen im Web zu finden - Sie werden gezwungen sein, ständig tief in Java-Interfaces und Klassen einzutauchen, um herauszufinden, was Apache Tiles bietet
Zusammengesetzte Ansicht
anstelle vonDekorator
- meiner privaten Meinung nach ist das Dekoratormuster flexibler - Sie können Variablen, Slots, Attribute usw. ganz am Ende der Anfrageverarbeitung definieren, während Sie beiZusammengesetzte Ansicht
darauf achten müssen, wann Sie das Attribut definieren (alle Attribute einer Unteransicht müssen definiert werden, bevor sie gerendert wird - Attributüberschreibung ist schwieriger)
Ich arbeite schon seit einiger Zeit mit Fliesen und ich muss sagen, sobald man sich damit beschäftigt und alle Funktionen kennt, wird man es lieben. Am Anfang sah es so komplex und umständlich aus und man verbringt viel Zeit mit Googlen. Aber danach nutzt man eine Vielzahl großartiger Funktionen, die man in anderen Frameworks oder Konzepten nicht finden wird, wie z.B. Vorlagenvererbung, Überschreiben, flexible Komposition, Wildcard-Ansichtszuordnung, Ansichtsvorbereiter usw... Und es integriert sich sehr gut mit Spring. Auf der anderen Seite vermisse ich bisher nur die Unmöglichkeit, das übergeordnete Template direkt in der Ansicht zu definieren (das würde eigentlich das Tiles-Konzept brechen).