I was searching for a Java framework two years ago because I wanted server-side persistence and a statically typed language with the option for easy AJAX and debugging while the output markup is largely maintained the way I wrote the templates.

I think I found Wicket via DZone due to the 1.4 release. I already read a book from Manning before and liked that it was written in a way that enables the reader to jump right into programming after having read the introductory chapters. I was happy when I saw that Wicket in Action seemed to use a similar structure. I think I tried Wicket without the book first but got stuck really quick (at latest when I got to the point when I needed models which was quite immediate) and so buying WiA was a quick (and good) decision.

As with any framework, it takes at least one project to get your head around it, so you better start with some personal project in your free time. On the following 2-3 projects you are iterating on the "maybe I could have done it better that way" process. But that's just the way it is for any framework in any language (and also without any framework at all). I assume the OP is using Wicket the first time without any guidance and just hasn't found into it yet.

I wasn't able to put Wicket in use at work until January this year but now we are on our 2nd (my 4th) Wicket project. What I could observe is that

1) you usually don't find into Wicket until you read a book
   (with WiA it's sufficient to read the introductory chapters, jump
   into coding and come back to the chapters whenever you need to know

2) there is an aversion until you get your head around the correct use
   of models and anonymous inner classes, at least if you never did
   something like that before
   (WiA introduces it quite good but you have to start coding before
   you really get it)

3) you should follow the (excellent) mailing list to read about issues
   you may encounter and use it as a knowledge base once you hit some
   (better on an own email account than on the archives)

4) if documentation does not help, read the source code
   (I found it pretty readable which is much different from other
   frameworks I have used/tried before - being easily accessible with
   Maven and a decent IDE, there is no excuse not to look into it)

So, the conclusion is: There should be better free documentation but if you pick up a book it's quite easy to get started and the best 30€ ever spent.

- I agree that it is rather too easy for Wicket to make things stateful,
when you don't want it

To turn that into a point of critique: It may be hard to get stateless pages.

I've made a similar experience where I had a search form that would not go stateless. I couldn't figure out where anything was persisted but if I had dug deeper, I may have found the cause, but that issue wasn't important enough to invest more time in it.

- and in my opinion the stuff you need to do to achieve "normal" URLs (no ?,
no version number, no nothing) is just a pain. *Every* URL, for stateless or
stateless pages or whatever, should be "normal", otherwise it is just not
acceptable -- users never want to see those complicated-looking URLs under
any circumstance

I prefer the way Wicket handles persistence with at-most-once semantics by simply adding version numbers on the URL (after a redirect from an internal URL) as other methods are less successful in achieving that out of the box, pollute URLs even further or add hidden markup. IMO, two numbers on the URL are quite unobtrusive, especially as they are simply ignored and transparently reassigned if the session does not match (i.e. on a URL that has been pasted into an email etc.).

- did not yet try out Ajax with Wicket, so I have no opinion on that

It's incredibly easy to use; you should really try it. :)

Just my 2¢. In all, a great framework that is much easier to use than e.g.
things based on JSP. Keep up the good work, guys !

Full ack! :)

To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to