Java – What are the advantages of Apache Wicket?

javamodel-view-controllerspringwicket

I'm not a Java developer so I might get some terms wrong… but.

An application I integrate with is moving from Spring to Wicket. While it should not affect my integration with it I got to wondering why they would do this?

From what I know Spring is the more popular framework. I know nothing about it except it's popular. I did read the Wicket page and Wicket seems really simple and straightforward.

What are some of the advantages of Wicket?

It seems to me that changing your entire framework would be some work so I wonder if Wicket offers something that Spring does not?

Best Solution

Advantages that often get touted in circles I frequent are:

  1. Your html can be fully xhtml compliant - there is a VERY nice separation of presentation and logic in that the only thing your presentation/html layer needs to know about wicket are wicketid attributes in standard html tags. This is wonderful for the html/css/javascript client side guy on your team who does little to no actual java work. No other java based web framework can claim this, afaik.
  2. No xml config for anything wicket specific - everything can be done in source and very little needs to be done to the standard web.xml for your .war
  3. component based development is pretty easy to grok - especially if you have a non web background (e.g. a swing programmer). it encourages reuse quite a bit more than mvc does, imo.