Eigentlich hatte ich es nur mitgenommen, weil ich mir Tapestry noch nie genau angeschaut hatte. Bei 29 EUR für ein Fachbuch (und von Addison Wesley) wollte ich den Untertitel "Webanwendungen mit Leichtigkeit" genauer inspizieren. Igor Drobiazko hat ganze Arbeit geleistet mit
Tapestry 5 und ein unwahrscheinlich verständliches Buch abgeliefert. Der Aufbau des Buches ist wirklich gut und extrem verständlich. Das einzige Kapitel, wo ich vorgeblättert habe, weil es mir etwas zäh vorkam, war das Thema "Mixins" - wahrscheinlich aber, weil ich das Kapitel davor spätabends gelesen hatte und somit nicht genau folgen konnte.
Tapestry an sich ist ein sehr interessantes Framework, welches sehr stark von Convention over Configuration und Injektion lebt, somit aber keine großen XML Dateien zur Konfiguration benötigt. Alle anwendungsweiten Parameter können über eine Klasse konfiguriert werden. Tapestry kommt so erstmal ohne große Abhängigkeiten, da es einen eigenen IoC Mechanismus mitbringt, aber zu Not auch auf Dinge wie Spring zurückgreifen kann. Generell ist das Framework so ausgelegt, ohne externe Bibliotheken auszukommen aber dabei trotzdem immer erweiterbar. Das Buch ist sehr logisch aufgebaut mit einem Anfängerpart (Erste Anwendung, Navigation, Zustand, Lokalisierung, Forms, Beans an Forms Binden), einem für Fortgeschrittene (Ajax, Mixins, wiederverwendbare Komponenten, Spring und Hibernate Integration, Tests) sowie dem ProfiPart (Type Coercion, IoC, AOP). Jeder Part hat die richtige Länge (nach hinten hin abnehmend) und ist trotzdem so dosiert, dass es noch verständlich ist.
Fazit: Das Buch bekommt eine volle Kaufempfehlung!
Jetzt komme ich noch zu meinen Problemen mit Tapestry, die für mich nach dem Lesen noch relevant waren. Zum einen hat es keine JPA Integration (wobei man mit Hibernate hier ja nicht schlecht fährt), zum anderen habe ich noch ein Verständnisproblem, wie man URLs korrekt in die Anwendung einbindet, so dass ich zum Beispiel etwas wie $tenant/$user/$reservation abbilden kann. Es gibt zu dem Thread auf der Mailingliste zwar schon ein paar Antworten, aber so richtig zufrieden bin ich noch mit keiner. Was aber auch an meinem Fachwissen liegen kann. Zum Testen der Beispiele werde ich wohl erst demnächst kommen (eine CD liegt dem Buch auch noch bei).