Kent Tong on Tapestry and Wicket
Kent Tong, a Tapestry committer (and PMC member) has gotten his feet wet using Wicket and has written a nice, in my opinion fair, blog entry on what he conceives to be the differences between Tapestry and Wicket.
Kent Tong, a Tapestry committer (and PMC member) has gotten his feet wet using Wicket and has written a nice, in my opinion fair, blog entry on what he conceives to be the differences between Tapestry and Wicket.
September 26th, 2007 at 4:00 pm
Reading that blog entry it looks to me like Tapestry would fail to graduate from the Apache Incubator (if it was put thru it now) as its effectively a developer community of one (genius!) committer - unlike Wicket which recently graduated with flying colours.
September 26th, 2007 at 4:25 pm
I don’t think it was written as a criticism on the dynamics of the Tapestry community. The communities are just different, just as the technology. It is very fortunate that Kent is in a position to see both communities first hand, which is an unicum IMO. Though he is not a Wicket committer nor PMC member, he has worked with the Wicket community and code base enough to have a well founded opinion.
There have been some studies on communities at the last Apache Con EU, I wonder what they might say about the differences between the two. Does anyone have the results?
September 26th, 2007 at 7:24 pm
In the sections - “Technical advances vs version compatibility/Technology driven vs user driven”, he observes something along these lines -
“T4=>T5 using annotations replacing for XML”
I’m not sure if things like this applies to Wicket. Tapestry, i believe had lot of XML based configuration stuff (the .page file for every template and the like) just like say hibernate 2 had for the mapping stuff.
So when annotations came along , they probably moved stuff from XML -> Code so that you have one place to maintain everything. Hibernate did that and so did other frameworks that were running out of XML config. May be t4 did some other cool stuff as well with annotations.
But my understanding is that Wicket didn’t have this problem to begin with. I know annotations look cool , especially people love it when they see custom framework annotations but then if you don’t have a problem, why bother.
I believe tapestry uses javaassist to do “bytecode” manipulation of your abstract page class ? again really ‘cool’ but then , well, does it make sense in wicket?.
One of the issues could also be that Kent has probably not seen Wicket evolving w.r.t design the way he has seen Tapestry.
As a Wicket user for the last one year, I personally have seen things like behaviors, component instantiation listeners , Ajax support and stuff evolving and to me they appeared really cool. Not cool “technology” in that sense , but cool incremental “design” decisions for sure in order to solve some interesting problems remaining within the realms of the bare bones JDK. Now all this w/o breaking existing code (or may be little breakage) - doesn’t that require some expertise?
But that’s just me. I do agree that it might not appeal (or seem that big-a-deal) to everyone.
September 26th, 2007 at 7:33 pm
Howard is certainly a very talented and prolific coder, but I’m curious why “genius” would produce a framework that needs to be completely refactored every so many months. I also didn’t agree with the bit about Wicket code quality. There are things that could be better, but it’s still head-and-shoulders above most projects I’ve ever worked on. Also, turning everything into an interface is just as wrong as turning everything into XML was and I fail to see how interfaces are more testable than concrete classes or any other unit of code. Of course, good solutions to all these quibbles lie in Scala. We just need that refactoring support in Eclipse…
September 26th, 2007 at 7:43 pm
BTW, I don’t mean to put Howard down, but I’m more interested in great /teams/ with top-notch leaders than one-man coding teams (as romantically cool as that seems!). Frankly, although I provided the initial vision and architecture for Wicket, it would not be the framework it is without key ideas from a dozen other people. I’m very skeptical of the idea that one person, however bright, can really see all the problems in something as vexingly complex as a web framework. It simply has too many facets to yield to powerful intellect alone. I think Wicket turned out as well as it did because I’m an excellent architect, but also someone who builds community, who not only listens to but actively seeks out and includes the best people and ideas. I think the core team is doing a great job of carrying on that tradition. If I could complain about something it would simply be lack of resources. Where Wicket code quality is not as high as we’d like, I think that often has to do with the fact that Wicket is being “dogfooded” on dozens of major projects now and when you don’t have a day job working on Wicket, you tend to just get the job done. But that’s really a gripe about OSS, not Wicket.
September 26th, 2007 at 7:46 pm
Oh, and yes, it is totally true that I no longer know how Wicket works. It’s grown too fast for me in the last year or so to keep up. It’s also grown into areas that are not my core competency (JavaScript / AJAX, for example).
September 26th, 2007 at 10:08 pm
Howard has too much class to put down another project developer - but luckily for him I don’t. Quite frankly, the real reason Kent Tong isn’t working on Tapestry anymore is because he didn’t really “work out” when attempting to write actual code for the framework.
I’m sorry to see him trying to attribute this to Howard not providing guidance - but that’s simply not the case. I watched in agony as he writhed around on the mailing list asking questions that committers shouldn’t be asking and slowly sinking in the tumultuous waters that coding above your head can sometimes become.
Whenever I need design help Howard has always come through for me at least, as well as others that I see him interacting with on the lists all the time. He doesn’t like to admit it but he also sort of designed some of the core cool T4 ajax features that people like so much - such as the @EventListener annotation.
I’m not ashamed to admit that he’s a better coder than I am. I’m thankful that I get to work with someone smarter than me that I can learn from. Which is why I still love programming.
September 26th, 2007 at 11:54 pm
Kent is simply iterating what I’ve heard a dozen times by now from people who used to use Tapestry.
I find the whole genius thing a bit off-putting tbh. It’s the single most annoying thing about the tapestry community to me. It comes across like a sect. Jonathan is definitively a better coder than I am, and one of the most intelligent and creative guys I know (not just in software). But I hope someone will shoot me on the spot if I would ever try to use that as a defense for Wicket.
September 27th, 2007 at 1:10 am
Who was defending Tapestry? I think it speaks for itself when being compared to a poor copy…
September 27th, 2007 at 2:27 am
I stopped using Tapestry the day that I read a post on TSS by HLS. The thread was about Tap being released (I forget which version). Somebody (I forget who - but definitely not a Wicket committer) posted a comment saying something like, “if you like Tapestry, try Wicket!” Now, I’m not AT ALL defending that kind of post. Nevertheless, I lost respect for HLS when he replied, “Bullshit. Wicket does not do this, or that..” I can’t remember the details but his post went on and on about how Wicket was inferior to Tap, and he did so in a very arrogant way. That really goes against the grain for me. Not much later, the post was edited on TSS (so don’t go looking for it, the edited post is much more polite, I doubt HLS wrote it himself!)
Anyway, since then I’ve dropped Tap from my web framework shortlist, and I’m glad I did when I did (T3), before wasting time on a framework that starts over at every version.
September 27th, 2007 at 3:30 am
Here is one for starters: http://tapestryjava.blogspot.com/2006/12/tapestry-5-progress-localization-assets.html#comment-2953367553692589420.
November 14th, 2007 at 4:13 pm
hi,
if there is a active development project being done in tapestry 4. Does it make sense to migrate to wicket or tapestry 5?
Moreover wicket reminds me of game cricket. India won last 20-20 world cup cricket competition beating Australia in semi and pakistan in finals.
Apart from that , I want to know of Howard’s choice after tapestry between JSF and wicket!!!!
thanks & regards,
Hari.