A recent post to the Wicket mailing list details some reasons to choose Wicket over Spring MVC or JSF. Wicket is a component based web application framework.
Ryan, who has a background with a variety of web application frameworks including Struts, Spring MVC and Tapestry, was evaluating frameworks for large projects that will have a long lifetime. In doing his research of the many frameworks, he narrowed his list down to JSF (MyFaces), Spring MVC, and Wicket. He felt that these three represented the best of breed tools. He quickly ruled out JSF:
I liked its form handling and navigation support but I did not like all the javascript and extra markup that was inserted into every page without me asking for it.
He is a big proponent of Spring and Spring MVC, but the biggest drawback for him ws the fact that it is bare bones:
It really is just a MVC framework. If you want infrastructure for ajax, redirect after post, poups, and other common webisms you will need to build them yourself with Spring MVC.
He goes on to list the pros and cons of Wicket. The pros:
- All configuration is done in Java.
- Well thought out support for common webisms (Ajax, redirect after post, etc)
- Strong community witha ctive core members
- Powerful model abstraction
And the cons:
- Con: Session support
- Con: Documentation
The thread goes on to talk about some of the changes to the session support in Wicket 1.3, where visited pages are saved to disk rather than being held in the session, thus shrinking the session size significantly.
InfoQ covered the Wicket 1.2 release back in May.