Comparing Java Web Frameworks: Proposed Outline
I'm just now starting to create my Comparing Java Web Frameworks presentation for ApacheCon Europe. According to Dave, I'm way late on submitting my presentation. However, I haven't received any late notifications from ApacheCon's organizing committee, so I don't feel too bad.
I think it's interesting how most conferences don't spend much time organizing from a speaker's perspective. The Colorado Software Summit and NFJS are two exceptions. As a speaker, you always know exactly what's going on, what the deadlines are and where you're supposed to be when. With ApacheCon, I feel like I'm in the dark on almost everything - including if I have a hotel room or not. I guess that's the difference between a volunteer organization and conferences where the organizers make money.
Luckily, I've done this presentation quite a few times in the past, so it's mostly an update rather than a rewrite. The biggest changes: dropping Struts 1 and adding Stripes and Wicket. Of course, I could keep Struts 1 since it's not much additional work, but since I only have 50 minutes for the talk (10 minutes for QA), it makes sense to drop it. And yes, I know many of you'd like to see Grails, Seam, GWT, RIFE and Click added to this presentation - but no one wants to sit through a presentation on 11 web frameworks in 45 minutes.
Here's the abstract for the session:
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.
Without further ado, here's my proposed outline:
- Introductions (5 minutes)
- Pros and Cons (15 minutes, ~2 minutes for each)
- Sweetspots (10 minutes)
- Smackdown - evaluation criteria includes (15 minutes)
- Ajax support
- Bookmark-ability
- Validation (including client-side)
- Testability (esp. out-of-container)
- Post and redirect
- Internationalization
- Page decoration
- Community and Support
- Tools
- Marketability of skills (can it help you get a job)
- Job count (is there a demand for skills on Dice)
- Conclusion (5 minutes)
- Q and A (10 minutes)
During the Pros and Cons, I won't be showing any code like I usually do - there's just not enough time. I'm also adding in a discussion on these frameworks' sweetspots. The Pros and Cons section is largely my opinion, and I think it's important to hear the framework authors' opinions as well.
In evaluation criteria, I'm dropping List screens and Spring Integration. All these frameworks have good Spring support and most support some sort of page-able/sortable list. I can add either of those back in based on your suggestions.
Any feedback is greatly appreciated.
Posted by Nathan Anderson on April 17, 2007 at 05:33 PM MDT #
Posted by Nathan Anderson on April 17, 2007 at 05:34 PM MDT #
Amit
PS: And please do not make us think or do maths for preview and then again for posting.
Posted by Amit C on April 18, 2007 at 05:09 AM MDT #
Posted by Mats Henricson on April 18, 2007 at 08:34 AM MDT #
Posted by jh on April 18, 2007 at 02:22 PM MDT #
Mats - yes, it includes URLs and the the ability to create REST-style URLs. It also includes CMA-friendliness for security purposes.
jh - I'm not sure. This is a question for the ApacheCon folks. I doubt it since they've never done anything like this in the past. I do plan on doing this same talk in a keynote at The JA-SIG Summer Conference and OSCON. Maybe I should submit it to a couple more conferences? I was thinking of doing JavaZone and Colorado Software Summit.
Posted by Matt Raible on April 18, 2007 at 02:49 PM MDT #
Posted by 64.171.68.130 on April 19, 2007 at 04:02 PM MDT #
Posted by Matt Raible on April 19, 2007 at 04:06 PM MDT #