Hi. Although I'm investing some much time and energy in Seam and Grails frameworks, Tapestry is still the framework I would like to use. Tapestry is really a hidden gem in Java world but it seems to me that it always get it wrong. Howard Lewis-Ship shows no interest in any compatibility (Tapestry 3-4-5 are all different beasts). No need to mention it comes with its own DI container. I understand that Howard Lewis Ship is an extra talented programmer but I think such issues are really push the developers away from Tapestry. You as the author of a Tapestry book, do you think it is worth learning and time? Thanks.
Tapestry is definitely worth the effort. Recently I had to prepare for an interview and reviewed many of the current most popular Java web frameworks. I had an impression that although they can be really innovative when it comes to the middle tier concerns (like dependency injection, object-relational mapping), when it comes to the presentation tier, they are all stuck in the low level details. They still feel obliged to write views using JSP and write controllers to do low level work.
This might be okay if you prefer to do things the hard way, but such an approach reduces productivity of Java web development, and after looking at the jobs market here in the UK I had a strong impression that when someone is looking for a web developer, in most cases that means ASP.NET.
Tapestry, if it was more widely known, could change this situation. It presents an absolutely unique approach to web development which in many respects is superior to the very recent achievements in ASP.NET.
As for incompatibility between different versions of Tapestry, yes, this is a pain, especially for those who adopted Tapestry years ago and want to upgrade to the newer version. But there is nothing perfect in this world, you always have to pay for something.
For example, there is a framework that strives to be compatible with just everything. It uses JSPs for its views, although that's a pain, it uses Struts-like navigation, although that's a paing too... I mean JSF of course. For me, JSF looks like Struts that had to prove that it can work with components. The result is very difficult to comprehend and work with.
Or you can have a framework that implements the best possible ideas that are available at the moment and doesn't care about conformity. That will be very much like Tapestry 5.
So the choice is yours, but if you are working on a greenfield project and want to get it completed in time with a small team, Tapestry 5 should be always considered as a major choice.
By the way, IoC in Tapestry 5 has one huge advantage: it doesn't use any XML. Everything is written in Java code, and so is compact, reliable and very fast. Although you can easy integrate Tapestry with Spring, and for me, it is easier to work with a Spring bean from Tapestry than from Spring itself.
[ March 04, 2008: Message edited by: Alexander Kolesnikov ] [ March 04, 2008: Message edited by: Alexander Kolesnikov ]
Alexander Kolesnikov<br />Java Web Developer<br />SCJP 1.4, SCWCD 1.4, SCBCD 1.3<br /><a href="http://sundraw.ws" target="_blank" rel="nofollow">Tapestry 5: Building Web Applications</a><br /><a href="http://sundraw.ws/batik.jsp" target="_blank" rel="nofollow">Java Drawing With Apache Batik</a>