Take the 2-minute tour ×

I saw how Struts 1 lasted from 2000 to 2013. I hear that people are moving from Struts 2 to Spring. But for a project that may need to be maintained for a decade or two, would it be advisable to opt for a framework or directly code with servlets and jquery? Can a system architecture really be designed keeping in mind a particular framework?

What really is the market life of a framework? Do the creators of the framework create it with the assumption that it would become obsolete in a decade?

share|improve this question
add comment

1 Answer

up vote 5 down vote accepted

My advice is to evaluate JVM web frameworks based on ~20 criteria that are important to you and your application. This includes technical categories (e.g. supports RESTFul, Ajax, i18n) and non-technical categories (e.g. Strength of community, number of books etc). Score each category (with weightings on categories that are more important to you) and pick the two winners.

Then prototype the top two, picking a problem that you know is risky/difficult for your project.

Matt Raible is the guy who taught most of us this approach, see him in action here:

share|improve this answer
Thanks. I'll be going through the video shortly, but the question really isn't about which framework to choose. It's about the market life of the frameworks. Any help on that would be appreciated. Or...should one not be worried about the market life? –  Nav Oct 21 '13 at 10:39
It depends on you and your team (or future team) and how comfortable they are maintaining a framework going forwards. I personally only pick open source frameworks that are likely to stick around for a long time, but there are never any guarantees. –  Martijn Verburg Oct 21 '13 at 16:21
As of now I'm assuming Spring is one such framework that's likely to stick around for a while. Just worried about the increased popularity of Vaadin and the fact that Groovy and Scala are hot on the market right now. –  Nav Oct 22 '13 at 2:53
Spring has a community that goes beyond the vendor that runs it, so yes you should be fine there. Vaadin, Groovy and Scala aren't even in the same sport right now (despite the tech media claims). –  Martijn Verburg Oct 22 '13 at 7:01
add comment

Your Answer


