Blogging Roller

Dave Johnson on open web technologies, social software and software development

Jason picks WebWork.

Jason Carreira convinced his company to go with Webwork over Struts. From the Webwork mailing list:

Jason Carreira: Well, it really came down to usability issues. We looked at things like having to have separate FormBeans tied to the Actions 1-1 (because you have to cast to the expected FormBean subclass). Also, we looked at some sample code for Struts and Webwork (we looked at code for Chiki, a Wiki implemented with Struts, and Jira. Thanks Mike for having clean code!). It was very apparent that you had to do a lot of busy work to initialize things and do the setup that the framework should have done for you in Struts, whereas in Webwork, it was pretty much all business code. Command driven actions were also a big hit, as our lead architect came from a Next background, and apparently they did code like that all the time. In general, I think it was just a general feeling that Webwork was better abstracted and architected than Struts.
One interesting point: Jason used Struts' popularity against Struts by arguing that Webwork's smaller user and developer base would make it easier for his company to lobby for and submit changes and improvements.

Dave Johnson in Java • 🕒 02:07PM Jan 17, 2003
Tags: Java
Comments:

I think the best decision is simply using a framework for developing your web applications - regardless of Struts vs. WebWork. That being said, it's kindof an unfair comparison IMO. I used Chiki about a year ago to get some ideas from - and a year later, I think ugghhh, what was I thinking?! It was published and never re-visited and I don't think anyone does any code on it. The developer is not an active in the Struts community, whereas Mike seems to be very active in the WebWork community. And from JIRA, we know that Mike produces good code. I'd invite Jason to look at my struts-resume, where (IMHO) I think XDoclet makes Struts development much easier. That being said, I think I need to learn more about WebWork so I can formulate a truthful and knowledgeable opinion.

Posted by Matt Raible on January 17, 2003 at 11:12 PM EST #

So, Struts 1.1 removed the 1:1 FormBean:Action constraint mentioned in Jason's reasoning, and I've generally found 1.1 easy to use. However, it *is* still in beta. For how much longer, who knows. I've been meaning to revisit Webwork...there's enough advocacy around that it seems at least worth a closer look. Want to see Rickard Oberg's new framework he mentioned when resigning from Webwork, as well...

Posted by Robert Rasmussen on January 18, 2003 at 01:21 AM EST #

Wow, cool... I got mentioned in a blog even before I blogged about this... I looked briefly at the Struts Resume code, but I was really looking for something nice and small that we could look at quickly and understand. I also quickly looked at the Struts 1.1 stuff with DynaForms, but it seemed like they had just taken the ParameterAware idea from Webwork (i.e. you just get a map of params, no type conversion or checking). I was also very concerned about the fact that Struts hasn't officially released anything in over a year.

Posted by Jason Carreira on January 18, 2003 at 03:45 AM EST #

Wow - not sure what all the comments about me are about, but just as an addendum - I don't write all the JIRA code, only a portion of it (maybe 20%?). So try "Atlassian produces good code" not Mike ;) (Otherwise you'll give me a big (bigger?) head - and annoy our other fine developers!) Good thoughts all though. Cheers, Mike PS I know that WebWork is a better framework, I guess some people just haven't 'got the memo' yet ;)

Posted by Mike Cannon-Brookes on January 19, 2003 at 11:48 AM EST #

I'm currently writing a web application for the European Commission using WebWork2. I did use Struts in the past (like 2 years ago or something), and I must say, WW2 is much easier to work with. In particular model driven (no more form beans, for a field there is only ONE getter/setter pair in the entire app) and command driven actions are very nice and have this 'familiar' feeling for junior developers. Also the fact that plain WebWork actions have no 'http' in them makes them easy to test in a TDD environment.

Posted by Mathias Bogaert on May 30, 2003 at 01:53 PM EDT #

Post a Comment:
  • HTML Syntax: NOT allowed