What do we need to do to make WebWork/Action 2 the best framework for *everything*?
From Ted Husted on the Struts mailing list:
Seriously, hype aside, engineer to engineer, if we can use the new standalone Tiles with WebWork, and use Ajax to store the state of UI controls, what else do we need to do to make WebWork/Action 2 the best framework for *everything*?
My reply:
The tag documentation (and documentation in general) for WebWork is
difficult to navigate. Struts' documentation has generally made it
easier to find stuff.
I think the hardest part of WebWork/Action 2 is providing the path for
migration. If Struts 1.x applications can run in Struts Action 2.x,
and users can create new Actions following WW's APIs - that will be
truly awesome.
Another that would be cool is smart defaults. For example, having
Actions that end with "Action" be available at the
"everythingbeforeAction" URL. Spring has something similar coming in
2.0 - and it's mainly just done by extending a certain class.
http://jroller.com/page/raible?anchor=an_example_of_smart_defaults
So if I have UserAction, it's automatically available at /users,
/user/edit, /user/save, etc. Default CRUD in a sense. No xwork.xml
required by default. But users can override. Default everything w/o
requiring annotations, but allow overriding. Or maybe there's
different default schemas - a CRUD one, store front, etc.
Ajax stuff that I think WW already has: in-page updates,
sortable/pageable lists with something like the displaytag - but with
Ajax. There's a lot of these components already available for this
stuff, so it might just be a matter of documenting how to integrate
them.
Promoting Maven 2 for building might be an easy way of promoting
inclusion of 3rd party libraries. Add 3 lines of XML, use this code
in your JSP/template, boom - you're good to go. Those that don't like
Maven can use the Ant tasks and pom.xml.
Archetypes could be pretty big too - create starter applications that
users can use. Even better, provide a means to upgrade the
archetypes. Of course, that might be a Maven thing - and editing
pom.xml to change versions really isn't that hard.
Above all else - to become the best MVC framework for Java -
documentation and easy migration are essential.
Just my $0.02 of course.
What's your opinion?