This week's book giveaway is in the OCMJEA forum. We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line! See this thread for details.
First of all, the term 'tapestry' is pretty new to me. Thanks for the link which has two excellent reviews given by "M. Shead" and "W Boudville", which definitely thrives some interest in me to give a try with Tapestry.
Though i have been into server side component developments, a little i had worked in struts (web development) in its early versions and to certain extent on JSF 2 years back.
To what extent Tapestry gives you a significant advantage in handling the flow of web app? moreover, how about the UI components are dealt here? Does it also have some inbuilt tiles like stuff in it?
As i know about Struts and JSF they are dependent on Servlets (ActionServlet and FacesServlet), how about the entire framework is dependent on?
I think the review given by "M Shead" was so excellent and it matches with my own expectations on a book which is supposed to be of
To what extent Tapestry gives you a significant advantage in handling the flow of web app? Completely. Tapestry is designed with page flow and interaction in mind, so that these behaviours become a feature of the application.
how about the UI components are dealt here? Again, completely. I'm just getting up to that bit in the book, but it's treatment can be compared to JSF components and has support for basic HTML features as well as advanced AJAX stuff.
Does it also have some inbuilt tiles like stuff in it? Yes, it has lots of stuff built in it.
Just to add a little bit to what was already answered...
One thing that unpleasantly surprised me in JSF is its navigation system, borrowed from Struts. For every possible passage from page to page you need to create a navigation rule and add it to an XML configuration file. I imagine that managing such a navigation can be a real pain in a large application.
Tapestry is very different in this respect. You can tell Tapestry which page you want to see next, from any page at all, and it will be given to you. The navigation is totally effortless and simple, no preliminary configuration needed.
With components, they can be placed on a page, much like JSF components, but there is more flexibility in Tapestry. If you wish, you can make your page to be pure XHTML with only ID attributes showing where components will appear at run time.
There is a wide choice of components, both in-built and third party. One of the most amazing is the BeanEditForm: one small tag gets converted into a complete, properly styled form with its controls generated automatically and already bound to the properties of a specified bean. This form comes even with built-in input validation!
As for the tiles, Tapestry has a much simpler solution. Its custom components are very easy to create, and to make sure the pages have a common look and layout, it is a standard pattern to create a Border (or Layout) custom component for this purpose and then wrap every page into it. This is similar to the master page in ASP.NET 2.0, but significantly simpler.
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>