Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Tapestry 5: Building Web Applications

 
Raghavan Muthu
Ranch Hand
Posts: 3381
Mac MySQL Database Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Alexander,

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

Thank you in advance.
 
David O'Meara
Rancher
Posts: 13459
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Raghavan Muthu
Ranch Hand
Posts: 3381
Mac MySQL Database Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you David for the nice replies.


[David] Completely. Tapestry is designed with page flow and interaction in mind, so that these behaviours become a feature of the application

It is really nice and increases my curiosity!
 
Alexander Kolesnikov
author
Ranch Hand
Posts: 99
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Raghavan Muthu
Ranch Hand
Posts: 3381
Mac MySQL Database Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
That's really nice. Thank you so much for the detailed reply Alexander!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic