> Take for example Kent Tong, the former Tapestry commiter. He has now even
> written a book on
> Wicket.



..and he has written yet another one on JSF after that. So clearly he must
not like Wicket very much :o)

Seriously though: I have used Tapestry 3 on several projects. I've used
Tapestry 4 on several projects and I'm currently learning my way around
Tapestry 5. Inbetween I've also done a couple of projects using Wicket.

I think Wicket is much easier to learn, even than Tapestry 5. Howard often
claims everything is easy in T5 and for him that's probably true. Not only
is Howard very intelligent and talented, but he also knows everything there
is to know about Tapestry.
But T5 uses naming-conventions and annotations for methods, properties and
parameters instead of simply extending a base-class. It also injects all
kinds of stuff into the components using annotations and if you want to use
a service, you'll have to know how to get to it.
All of this means your IDE won't help you much when you get started and you
have have to learn an awful lot (annotations, naming conventions, services
and a little about the inner workings of Tapestry) before you can actually
really build something other than an HelloWorld application. I still find
myself going back to the documentation all the time.
Once you have learned all those things though, Tapestry is extremely
productive and powerful.

And even though I claimed Wicket is much easier to learn, once I started
creating more complex web-applications with it, I've also lost many days
trying to figure out how I could make Wicket components do the things I
wanted them to do and often I found that I was writing a lot of code for
simple things (especially a lot of simple models, where Tapestry only
expected me to write a getter on the page).

You repeatedly stated that you don't like Tapestry. Mostly because of the
lack of backward compatibility. I understand that and I have old projects in
T3 and T4 as well and migrating them over to T5 would take months or even
years. Supporting them requires knowledge of old versions of Tapestry. This
is indeed a problem. But I also have customers that still have old
applications written with plain servlets. Applications written with JSP's
(and scriptlets) and applications written with Struts. I don't like those
technologies but it's basically the same thing: Time moves on and so does
technology. Old stuff that works doesn't get migrated simply because I
happen to prefer the latest and greatest tools.

I now prefer Wicket over T3 and T4, but I am starting to prefer T5 over
Wicket again. Every framework has its pros and cons and fits a different
audience and target. I have advised different customers to use Tapestry in
one situation and Wicket in another (different projects, different
requirements). They are all still happy with those choices. Each framework
has its place and is just another tool in your toolbox.

You can choose to either use Tapestry or to use something else. Just be glad
that a group of people is willing to share their work with the rest of
world. Frameworks like Click or Wicket probably wouldn't have existed if it
wasn't for Tapestry. And Tapestry 5 probably would have looked different if
Wicket and Rails hadn't been around.
All frameworks are important because they push innovation, making each other
a little better over time.


regards,

Onno

Reply via email to