I've been reading over and over that Struts 1 is already obsolete. I'm trying to decide now which web framework to focus on. But the list of contenders is long. I hear about Struts2, Spring MVC, Seam, JSF, Tapestry, etc.
Just to get the opinion of the people here. Which do you think will replace Struts1 as the dominant web application framework?
I wouldn't say Struts 1 is obsolete. It's still very popular. I went to a conference last year and attended a talk comparing web frameworks. The speaker asked what framework everyone was using (you could vote more than once) and Struts 1 users outnumbered every other framework by a very large margin (probably every other framework combined). It's got problems, for certain, but it's got a huge installed base and user community and isn't going away any time soon. As for what's next, this article has some interesting analysis. Really, it just takes a few days to get proficient with a framework (otherwise it wouldn't be worth the trouble), so I wouldn't sweat making a "wrong" decision on which framework to download next.
Thanks. This really helps. Although I would like to ask, in your opinion why is Struts1 maintaining a large sharge of development projects? I've used Tapestry and Spring MVC and I feel like in all aspects they are superior to Struts1. Having them available just gives me no reason to use Struts 1
Originally posted by Ronwaldo Cruz: Thanks. This really helps. Although I would like to ask, in your opinion why is Struts1 maintaining a large sharge of development projects? I've used Tapestry and Spring MVC and I feel like in all aspects they are superior to Struts1. Having them available just gives me no reason to use Struts 1
For those already using Struts 1.x, it is more likely for them to upgrade to newer versions of Struts, because converting to Tapestry, etc. would need major conversions - and therefore money.
But sticking with old versions of course makes you less ready for more changes in the future. Change doesnt stop.
But moving from Struts 1.x to Struts 2 (the latest version) 'is' a major change, and is considerably a 'conversion', not just a tweak or upgrade. This is because there are many changes made to Struts, between Struts 1.x and Struts 2.
One reason is that there aren't that many completely new projects for which one could choose just about any framework without impacting anything else. For existing projects, you will rarely see a framework being replaced by another just because it's not the latest and greatest any more. That would occur an immediate, certain cost, but only a deferred, uncertain payoff.