Well, even though the original WebWork was touted as a general-purpose command architecture, 99% of those who participated on the lists were using it as a web framework. In this current generation, the distinction is made even more clear. XWork gives you a basic command infrastructure, and WebWork2 adds utility classes for web-specific work on top of XWork. So WebWork2 is basically a web-specific development framework, ala Struts.
In my opinion, and the opinion of many on the early lists, is the Webwork is very similar to Struts in capability, but much simpler in its design. The main differences (as I see them) are: :) 1. The WebWork framework is much smaller than Struts making it easier to understand the inner workings of the framework. To many, understanding the innards of a framework is secondary to the ease of a framework's usage, but I disagree. I am much more in control of the entire development process (esp. maintenance and debugging) when I truly understand what is going on in every class. This includes the framework. :) 2. Building WebWork applications is easier (IMHO) because there is one less class needed per view. Struts uses an ActionForm bean to function as the controller in the MVC design, while WebWork combines the controller and the model into an Action. I prefer WebWork's default approach because I like the tight binding between these areas. You can always mimic Struts approach if you don't want this, but it is one less set of classes to develop and maintain. (That would be nearly 350 additional classes in my current application.) :| 3. Both projects enjoy a large user base and developer base. Both projects have a talented group of core developers. :( 4. Struts has much more exposure. There are seven Struts books available as listed on the Struts web page. Struts has an enormous amount of documentation and quality examples. WebWork is sorely lacking in this area (a chapter or two in a forthcoming book is a start, but not much). WebWork2 will need to improve its documentation effort greatly, because of the new pluggable nature of the framework. With more configuration options comes a need for more documentation. We also need a best practices handbook, and well-documented examples, not just examples for example sake. And it needs to be free (as in beer). :| 5. Organization affiliation. The Apache group has enormous influence on corporate and media mindshare. They have a well-deserved reputation, and we all depend on their libraries for nearly every major Java project, opensource or not. OpenSymphony is a much different organization (size, scope, $, member base, mindshare, IBM.Sun backing, etc.), but I would consider that a push. OpenSymphony is more nimble and focused. :( 6. Stability of codebase is definitely in Struts favor, and it should be. Struts is older, but not more mature. When deployed, WebWork2 should have every capability that Struts has in a more compact and easy to learn design. We should also have more opportunities to configure and extend the framework for precisely this reason. However, it becomes extremely difficult to produce worthwhile documentation if the codebase is changing too quickly. I hope that once XWork/WebWork2 is released, the focus will be on documentation, bug fixes, and performance improvements for at least a year. :| 7. Struts has a very componetized view technology, while we will have to wait until WebWork2 is released before this is fully integrated. I call this a push, because not everyone likes this approach. We use Velocity for most of our larger projects, and JSTL for the smaller ones. I have typically shunned the WebWork taglibs because of the difficult (IMHO) expression syntax in WebWork 1.3's taglibs. Maybe OGNL support (or JSP 2.0 EL) will improve upon this, but I believe that Velocity's performance and simplicity will continue to define our future. Making a Choice =============== When deciding which web-based framework you will use for a project, consider the needs of the project, the skill set of the developers, the long-term viability of the framework development, any organizational biases or precedents, and the service and support of the community. You, as the technical decision maker often need to compare and contrast frameworks, and from experience, I say that you aren't going to do a very good job at this if you compare a list of feature bullets. That's marketing, and you as a tech guy don't give a damn about marketing. You have to roll up your sleeves and actually use the frameworks. Fortunately, there is at least one, very well-written application that provides a hands-on comparison of both struts and WebWork 1.3. I highly recommend you get the xPetstore project (http://xpetstore.sourceforge.net/) downloaded ASAP, build it, deploy it, read thru the code and understand it. (Major kudos to Herve Tchepannou) Only then, will you be able to make a quality decision. ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork