In the last weeks i have done massive research what web framework will make it into our product. Right now Struts 1.x is still doing its work in our product but i really cant stand it any longer. You code like crazy for the most simple things other frameworks do out-of-the-box like form properties handling and state-management.
For now i ruled out all action based frameworks like Spring-MVC, Struts 2 and friends. I really want a more component based approach. This basically means that Tapestry, Wicket and JSF are left in the game. When i first checked Tapestry a few weeks ago, i was quite amazed but i have some bad feelings when i check the developer community around tapestry. When looking at stats like number of committers and commits per day, it somehow didnt convinced me that much. Furthermore from the architectural perspective its quite heavyweight with its own IoC container. I am already using spring in our app, so i dont like using another container. JSF on the other side has never won my heart when it comes to API elegance. I came in contact with JSF in two projects and the “wow effect” was simly not there.
Wicket is something i have some interesst in since a few days. Of course i have also some gripes when it comes to documentation, but from the architectural standpoint is at least as elegant as tapestry. All in all both frameworks share some ideas and are not that different, compared to something like Spring-MVC.
The decission to go for a different web framework and the decission which exactly to chose from must be rock solid because i esitmated at least 8 weeks of coding to replace all my struts actions and jsp’s to a different framework.