I know this has been lightly discussed in the past, but I would like to
start a more formal discussion about it now in the hopes that we can
come to some kind of decision in the not too distant future and begin
working on upgrading from Struts 1.x. I think there are a ton of
reasons to upgrade from Struts 1.x and the only real drawback right now
is that it requires extra development time, but we've got to bite the
bullet some time.
So, it seems like the logical place to start is to get a feel for what
options are available and why we like/dislike various options. From
previous discussions it sounds like the most notable options are ...
Struts2, JSF, and Spring. Feel free to offer other options if you think
a different framework should be considered.
I am not a framework junky and haven't played with any of these options
extensively, but from what I do know about them I would say that Struts2
sounds the most appealing to me.
Struts2 looks very easy to use and should provide by far the easiest
upgrade path from our current Struts1 code. Based on the JSF examples
Dave used in the Planet sandbox I am a bit hesitant on JSF. I found it
to be less intuitive than Struts and would certainly require more effort
to migrate to. Spring is also an option, but the upgrade path would be
more involved and I don't think it offers anything that Struts2 does not.
The only downsides I see to Struts2 right now is that it says it
requires Java 5, which isn't an absolute deal breaker, but I think it's
a shame since Roller is currently compatible with Java 1.4. The other
thing is that Struts2 hasn't actually gone GA yet, but it appears that
it's fairly close now, so by the time we actually get around to doing
this work it should be ready.
What do others think?
-- Allen