Monthly Archives: June 2008

Wicket In Action almost done

Honestly, the book – Wicket In Action – is aaaallmost done. We’re doing the very last edits, and most of the chapters are in the production stage. Incredible, what a huge amount of work goes into writing a book. Without the help of Manning’s excellent staff, I would have been very close to giving up tbh.

The good thing about being done (well almost) is that for the first time in two years, I’ll actually be able to have some spare time without feeling guilty. And what I’ll do with that? Play music of course! I’ve played guitar forever, and have been singing for a few years (which finally is getting a bit better, thanks to my awesome coach), and I recently bought a bass guitar, keyboard, couple of mics and a decent multitrack recorder. Man, I’m ready to have some fun! :-)

Anyway, for all of you who bought the early access version and/ or have been patiently (very patiently I might add) waiting until the book is done, thanks for hanging in there, and thanks for supporting Wicket!

Wicket and Tapestry compared

Here is an excellent comparison between Tapestry and Wicket. One of the best parts: “Despite the fact that there is a similarity between frameworks’ architectures (both are component-oriented with clear separation of concerns), their implementation is quite different”. And what a breath of fresh air to not have to read about number of job listings, books and other quasi-managerial comparison pollution.

No more explanations needed on the Wicket user list and forums like The Server Side; we can just point to this article from now on :-)

One big difference between the two frameworks that isn’t mentioned in the article is the fact that Tapestry’s component tree is static, whereas Wicket’s is dynamic. The advantage of a static tree is that it is easier to handle and optimize. I guess this is true for having a declarative programming in model. The advantage of a dynamic tree is – obviously – flexibility. For examples of what you can do with a dynamic tree, check out this post and this rant. Also, components like wizards and tab panels make heavy use of this in Wicket, and while I’m sure there are workarounds available in Tapestry, the ability to arbitrarily replace components makes it very easy to implement things like detail screens and such.

Thanks Artem, Jim and Ilya for taking the time of publishing a thorough comparison.


Get every new post delivered to your Inbox.