Just browsing through the Thoughtworks open source projects (after finding Buildix and backing up). I noticed YAJWF (Yet another Java web framework) – or perhaps just YAWF (Yet another web framework) – the Waffle Web Framework. I could not contain the reaction: “Oh no, not yet _another_ Java web framework :(“. However, I had this feeling a couple of years ago when the main author of the Click framework was promoting his framework on the AJUG mailing list. At the time I was developing UI with Macromedia Flex and didn’t feel all the full frontal pain of regular web development. I am currently experiencing Spring MVC (without Webflow) and I feel the pain – oh, I feel it! Click looks to relieve the exact pain I am feeling on my current project but Wicket looks to have a brighter future (and more future proof).
I haven’t looked at Waffle yet. There are too many others to consider first. This is my current short list:
- Wicket for power and community
- Click for simplicity.
- Perhaps some JSF based “stacks”: Facelets + Seam, Oracle ADF, IceFaces, JBoss/RedHat/Exadel Ajax4jsf + RichFaces.
- Perhaps Tapestry 5 when it’s finished and if the components and community appear :)
There are sooo many web frameworks out there. It _is_ so easy to have the reaction: not another please, please, no no no! There is certainly a need for a few. The move away from “model 2 mvc” frameworks is gaining momentum now (thank goodness). The term “model 2 mvc” seems laughable now :). Web frameworks are getting compared all the time! The people involved are often parochial and the forums can get heated :) .
It’d be nice if there were some ideal framework for Java developers (those .NET guys sure have it easy!). The reality is that many frameworks would be suitable. Choose one that works for you and keeps you productive (i.e. avoid model2/action based frameworks if you have much interactive to deal with). I’m currently hoping that Wicket gains an upper hand. JobServe lists zero Wicket contracts currently though :( .
Here’s a brain dump of my current thoughts on Web Frameworks:
- Click with OpenRico. A simple and effective however there are some gaps for more complex flows. Some good OpenRico examples for simple DHTML effects and AJAX.
- Wicket. More complicated than Click and generates less HTML for you. However, it would work well with Web designers – templates are valid XHTML. I like it but the documentation leaves something to be desired.
On the radar is JSF, GWT, Tibco GI, Yahoo UI, Dojo:
- JSF with an open source stack of MyFaces+Tomahawk + Facelets (templating to avoid JSP)
- GWT. Looks great for single-page web applications like Gmail.
will update again soon…