IMO, tapestry sucks at almost any level.
Examples:
1. non-surprisingly it uses Hivemind ( *embedded* IoC container) where the DI happens based on a CGLIB code enhancement of your abstract classes making the later quite difficuilt to unit-test
2. the API is bound to the HTML only. You could find a method description like: "this method prints out the text in RED"!!!
3. All *low-level* servlet-API objects are wrapped into some bizzare tapestry classes, which appear to be almost useless.
4. The promised ease of HTML-coding wears out immediately, if you start divide you templates into re-usable parts. For a Java-unaware web-designer it turns into a nightmare, as soon as he would need to mock each and every module.
The conclusion: the tapestry is good only for trivial HTML-based apps.
Unfortunately, we are employing it now, but I'm struggling to getting rid of it and switch to Spring MVC + WebFlow.



Reply With Quote
