aspose file tools*
The moose likes Other Application Frameworks and the fly likes Where does Tapestry shine over JSF? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Frameworks » Other Application Frameworks
Bookmark "Where does Tapestry shine over JSF?" Watch "Where does Tapestry shine over JSF?" New topic
Author

Where does Tapestry shine over JSF?

arulk pillai
Author
Ranch Hand

Joined: May 31, 2007
Posts: 3220
Hi Alexander

18 months ago I had an opportunity to work briefly with Tapestry and quite liked it. Currently using JSF 1.2 with facelets (so that no JSPs only XHTML). I feel even though Tapestry is a well designed and powerfull framework it is not easier to grasp and has a faster learning curve compared to JSF. Eg. concept of page pooling etc.

What are your thoughts on this and why do you think despite Tapestry's deisgn excellence JSF is more widely used?

[ March 03, 2008: Message edited by: arulk pillai ]

[ March 03, 2008: Message edited by: arulk pillai ]
[ March 03, 2008: Message edited by: arulk pillai ]

Java Interview Questions and Answers Blog | Amazon.com profile | Java Interview Books
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

What does this question have to do with the book?


GenRocket - Experts at Building Test Data
arulk pillai
Author
Ranch Hand

Joined: May 31, 2007
Posts: 3220
Firstly the author will have a better insight into Tapestry's strengths and where it shines over JSF. Also books on frameworks need to convince the user why it is better suited compared to other similar frameworks to convince the reader. There are myriad of frameworks for developing web applications and it is vital to choose the right framework based on its merits.
Jeanne Boyarsky
internet detective
Marshal

Joined: May 26, 2003
Posts: 30546
    
150

I'm not the author (and the promo doesn't official start until tomorrow), but I'll throw one reason in the ring - JSF is a "standard". This makes some shops more likely to consider it in hopes that Sun won't abandon it.


[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

Originally posted by arulk pillai:
Firstly the author will have a better insight into Tapestry's strengths and where it shines over JSF.


Not if the author doesn't know diddly about JSF.

Originally posted by arulk pillai:
Also books on frameworks need to convince the user why it is better suited compared to other similar frameworks to convince the reader. There are myriad of frameworks for developing web applications and it is vital to choose the right framework based on its merits.


Agreed, sort of. If all books regarding web frameworks dealt with the "why is it better than A, B, C, and D" then there would be no room left for anything else. And it would have been great if the above statement was included in your original post. My point was that your question stated nothing about the book aside from the title of your post.
[ March 03, 2008: Message edited by: Gregg Bolinger ]
Alexander Kolesnikov
author
Ranch Hand

Joined: Feb 26, 2005
Posts: 99
As a matter of fact, comparing Java web frameworks was the topic of my MSc dissertation, and I compared Tapestry (at that time in version 3) to Struts and JSF. I keep reading about how JSF progresses, and Facelets is actually an example of how JSF can gradually become "less standard".

In fact, I will be not surprised if in the future, say in its 3rd version, JSF will become more like Tapestry than what it is now. We already have an example of what can happen with a standard framework - EJB3.

The greatest benefit of Tapestry over JSF, from my very practical point of view is that in Tapestry creating a custom component is as easy as to create a page. On the other hand, in JSF creating a custom component requires a knowledge of the moving parts of the framework and is a relatively advanced task. Custom components are a very important part of any project because all the time you create some solutions that could be reused on different pages or in different projects.

Another benefit of Tapestry is the way how it works with page templates - it is very easy to convert an HTML mock up into a Tapestry template, and edit it afterwards without breaking the logic.

Behind the scenes, Tapestry is more efficient because it doesn't recreate the component tree but uses a pool of page objects.

But perhaps most importantly, Tapestry is actually much *easier* to learn than JSF to the level where you can use it productively. The legend by the steep learning curve of Tapestry is caused by two factors. One of them is the absence of easy to understand books - and my book should be helpful here. The other one is that Tapestry 3 and 4 used abstract methods extensively, and that was a difficult concept for many newcomers.

Tapestry 5 is much easier because its pages are POJOs - nothing abstract anymore! I gave my book to a number of young developers here in the company and they say that Tapestry 5 is very easy. So I do recommend you to try it and then make your own conclusions about how it compares to JSF.

I would add to this that learning Tapestry 5 you will be surprised how widely the principle of convention over configuration is used in it. It doesn't imitate Rooby on Rails, as other frameworks do, but it is close to it in spirit and from the purely presentation tier point of view it goes much further.

[ 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>
arulk pillai
Author
Ranch Hand

Joined: May 31, 2007
Posts: 3220
Alexander you convinced me to try Tapestry 5. As I said before I had a brief experience with it and quite enjoyed building components with it.
Gayathri Kum
Greenhorn

Joined: Mar 05, 2008
Posts: 3
Hi Alexander,

I'm also one of those confused souls in the java web development world.
Yes I have read articles about how easy it is to develop custom components in tapestry. Then you have blog entries like this -
easy custom jsf development

In fact facelets allow jsfc attribute similar to jwcid and facelets allow for template previewability as well?

Now am not sure if developing custom components is tough in JSF either.
I also read a blog that says that facelets will become a standard in JSF 2.
JSF controller classes are POJOs as well.
But you say that JSF does not perform as well as tapestry,

So even after JSF 2, JSF will be a easy but non-performant java web standard?

thanks
Gayathri
Alexander Kolesnikov
author
Ranch Hand

Joined: Feb 26, 2005
Posts: 99
Well, I've read an article proving that creating JSF components is easy. To declare that it is easy is one thing, to prove that is another, and having experience of creating Tapestry components I wouldn't say that that article showed anything that was easy.

I believe that as JSF goes to next version, it will adopt more ideas from Tapestry, and Facelets is an example of how standard technology (JSF) can get rid of its standard predecessors (JSP). Look at what happened with EJB specification. I think something similar will happen with JSF - it will adopt the best solutions from open source projects, Tapestry in the first place.

JSF is less efficient because it recreates components tree each time the page is requested. Tapestry uses pooled preconfigured page classes instead, which is much better in terms of efficiency.
 
wood burning stoves
 
subject: Where does Tapestry shine over JSF?