Matt RaibleMatt Raible is a Web Architecture Consultant specializing in open source frameworks.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

[OSCON] Spring MVC vs. WebWork Smackdown

Matthew Porter and I's Spring MVC vs. WebWork Smackdown presentation was a lot of fun this morning. We had a boxing bell (that I got off eBay) and had a good time ragging on the two frameworks. The only surprise was that Matthew actually ran some metrics on the Spring MVC vs. WebWork code in AppFuse and pointed out that the WebWork version required 25% less code than the Spring version. Oh well. The hard part about this presentation for me was trying to defend Spring MVC and saying it's better than WebWork. Matthew obviously felt strongly that WebWork was the better framework, whereas I like them both.

Posted in Java at Aug 03 2005, 05:15:43 PM MDT 7 Comments
Comments:

WebWork is definitely my favorite of the two. Spring MVC is better than Struts but feels like a big step backwards when compared to WebWork.

Posted by Larry Williams on August 03, 2005 at 06:02 PM MDT #

I enjoyed the Smackdown and thought the bell was a great idea! I do believe that Webwork is a great framework but it can't hurt to know Spring MVC as well as others. Thats what keeps us marketable after all!

Posted by Steve Mayzak on August 03, 2005 at 07:01 PM MDT #

Hey Matt, is there any chance to get a video or audio recording of the smack down?

Posted by Joris on August 04, 2005 at 02:44 AM MDT #

Actually WebWork actions are command class AND model AND controller.

Posted by Steven Devijver on August 04, 2005 at 09:06 AM MDT #

thanks for the post/link/presentation. > Component-based frameworks are the future JSF? what are some others?

Posted by erickreid on August 04, 2005 at 11:06 AM MDT #

While you do mention the presentation is short, I'd almost say it's a disservice to post it, on that basis. There's no real detail to back up any of the points, and some of them are contentious. There are some that are completely untrue as well, for example the one which says that Spring MVC controllers are unable to be tested outside of the container. Spring MVC controllers are in fact trivially easy to test outside of the container. In your unit test, you create an instance of the controller, and call the controller's handler method(s) directly, to verify them, feeding them instances of the mock servlet request and response objects Spring supplies for this purpose, into wich you've dumped any relevant params. Or there's another point, "Model and CommandClass - too much like Struts". I have no clue what this is trying to say, as in fact Spring MVC encourages and makes it easy to reuse and do rich binding (using full JavaBean paths) to your domain objects, instead of forcing you to create silly form objects for no purpose.

Matthew Porter is a sharp guy, who I know pretty well and respect, and I know he knows Spring itself quite well, but these two points alone make it clear to me that he's never really used Spring MVC in a serious fashion. So the 'Smackdown' idea is pretty good for OSCon, where the other person on stage can dispute points appropriately, but putting this stuff on the web in this level of detail doesn't add much value to anybody...

Colin

Posted by Colin Sampaleanu on August 09, 2005 at 07:29 AM MDT #

Colin - I agree with all of your points. It should be noted that most of the things we put on the "sucks" pages were untrue - and we refuted them when defending our frameworks.

The main reason I posted the presentation is because some audience members asked me too. I believe they've had sufficient time to download it now, so I'll remove it.

Posted by Matt Raible on August 09, 2005 at 10:31 AM MDT #

Post a Comment:
  • HTML Syntax: Allowed