It's been almost 2 1/2 years since I created and presented my "Comparing Web Frameworks" talk at ApacheCon 2004. It's hard to believe that was my first talk in front of a large audience. Before that conference, I posted a list of possible topics, as well as an outline a few days later. The most recent time I presented this talk was at Spring Forward 2006.
At this year's ApacheCon Europe, I'll be presenting Comparing Java Web Frameworks again. This time, I'll be adding Wicket and Stripes to the mix. I'm adding these two because they seem to be getting the most hype in Java developer's blogs. Of course, it would be great to add Grails, RIFE and Seam, but that's just too much to cover in an hour. Also, Grails is just Spring MVC and Seam uses JSF - so RIFE is the only one that stands out as unique. Here's the current session description:
One of the most difficult things to do (in Java web development)
today is pick which web framework to use when development an
application. The Apache Software foundation hosts most of the
popular Java web frameworks: Struts, MyFaces, Tapestry and
Wicket. This session will compare these different web
frameworks, as well as Spring MVC and Stripes. It will briefly
explain how each works and the strengths and weaknesses of each.
Tips, tricks and gotcha's will be plentiful. Lastly, it will
provide attendees with a sample application that utilizes all 6
frameworks, so they can compare line-by-line how the frameworks
are different. This sample application will include the
following features: sortable/pageable list, client and
server-side validation, success and error messages as well as
some Ajax functionality. The frameworks will be rated on how
easy they make it to implement these features.
Over the next couple months, I'll try to post a revised outline so all the folks who care about a comparison like this can voice their opinions. I'll also be integrating Stripes and Wicket into AppFuse and AppFuse Light.
I'm still not sure about the name "AppFuse Light", but it's probably better than "AppFuse LE" which doesn't seem to convey the concept enough. The problem with "Light" is how to spell it (Bud Light vs. Miller Lite). The nice thing about AppFuse LE is we can shorten it to ALE. Regardless, you gotta love how it can all be related back to beer.
I've never been to Amsterdam before, so I'm definitely looking forward to this trip. My dad will be joining me, so I'll probably do more site-seeing that conference-going. If you're from the area, do you have any suggestions on what to do and where to stay? My dad has been pricing tickets and thinks we'd be better off flying into Frankfurt, spending a few days in Germany, and then arriving a day or two before my talk (on Friday). However, Queen's Day is the Monday of the conference and I've heard rumors it shouldn't be missed. I've got some Dutch and German in my blood, so it should be fun to visit my ancestral homeland.
You gotta love Gavin's description of why Seam should support X509 certificates:
I have no idea what these things are, but apparently people want to get them. Supposedly, they are nothing to do with certificates you get when you win something like a spelling competition in primary school. 'Cos if they were, we could have used Norman's PDF stuff. So anyway we can just steal code from Acegi. Then I can tell people "we've got a certificate for X509" in talks, and they will think I know what it is.
At least he's honest. 
Update: Seam now has Spring support - very cool! FWIW, we talked a bit about Seam on the AppFuse mailing list today.