I'm currently working on a web app that makes heavy use of JSF and IceFaces. We've had some discussions of moving to another presentation layer, and I thought I'd take the discussion out into SO and see what the experts think.
I'm curious if anyone could weigh in on the pros and cons of the various Java presentation layer technologies. If you've only worked with one, say why you love it or hate it. If you've worked with several, give your impressions of how they stack up against each other.
Our technologies under consideration are:
- IceFaces
- JSF (without IceFaces)
- GWT (Google Web Toolkit)
- Wicket
- Tapestry
And if I'm missing anything from my list, let me know.
Thanks!
I've used GWT for a couple small projects. Here are some things I like about it:
Things I don't like:
My opinions are quite heavily biased towards Wicket because I've been using it for a while after tripping over JSP mines far too many times.
Wicket PROs:
Wicket CONs:
Form.onSubmit()
) require extensive subclassing or anonymous method overriding for injecting behaviour easily. This is partly due to Wicket's powerful event-based design but unfortunately it also means it's easy to make a code mess with Wicket.Random CONs: (that is, I haven't used but these are my opionions and/or things I've heard)