Should we change AppFuse to be Struts 2-specific?
Dusty recently posted an interesting idea to the AppFuse developers mailing list:
After thinking/coding/reading for a while I think the more interesting
task is: Retool AppFuse to be one or more Struts2 plugins based on
various higher level app patterns. (AppFuse Facebook, AppFuse
Employee DB, AppFuse Blog, AppFuse Basic LDAP, AppFuse Basic Crowd).
This all comes from the fact, that I have been wanting to refactor the
AppFuse web layer for Struts. One of the interesting aspects of
AppFuse is that it works pretty much the same across all its web
frameworks. It does so with some lowest common denominator
abstractions that can be ported and look and work the same across
frameworks. I have picked my tool(s): Struts 2 and Ruby On Rails when
I want to pretend I am young again. I know Spring MVC, JSF, etc. but
I have no desire to build significant apps on those platforms. It's
not because they suck and Struts2 rules, it is because I know Struts 2
the best, I am most efficient there and it provides everything I need
to build great webapps (Let's not devolve to a framework debate). So,
I would rather have a more Struts 2-specific web stack, that really
leverages conventions born and raised there. The nice thing about the
Struts 2 web stack is that it is complemented nicely by AppFuse's data/service layer, since unlike Grails or Rails, Struts 2 has no data or service layer.
[Read More »]
Seems like a good idea to me. What do you think?
Someday I'd like to come up with a "compatibility test" that allows others to improve upon the ideas in AppFuse and develop their stacks independently. A suite of Selenium tests that require extensionless URLs might be a good start.