Struts replacement option – Spring MVC
The most likely candidate is a replacement is Spring MVC, which is widely gaining popularity as the go-to JVM based framework. Spring is designed around the servlet stack, and has a focus on easy configuration and deployment, which helps speed up your migration efforts.
My employment opportunities over recent years have almost had an identical mixture of technologies with heavy reliance of Spring while also incorporating other platforms like Kafka, Elasticsearch, Docker, and Jenkins. I definitely can attest that from my experience using both Struts and Spring in the past, I have a definite preference for Spring based applications.
Some reasons why migrated from Struts to Spring is a good option:
- Rapid development with many plugin options and incorporation of Spring Boot
- Cleaner separation of models, views, and controllers
- Better web tier integration and simpler testing implementations
- Ability to work with any presentation layer technologies, Spring has nothing to do with your views at all – just setup your APIs and use any front-end framework you want!
- Better future-proofing – with Struts usage waning, it will more than likely be phased out in the future and stop receiving major updates. Might as well get ahead of the game and move to something more widely supported.
Rebuilding or migrating a legacy Struts application with Spring doesn’t have to be as daunting as a task as you might think it is. Sure, it’s a lot of work – especially for large enterprise applications, but tools like Spring Boot give a lot of free resources and simplify deployment, meaning new features can also be implemented quickly and more efficiently without having to navigate through bloated legacy application code.
For those who want to live on the cutting edge
Of course, Spring isn’t the only option out there, and companies may want to be pioneers with implementing non-standard platforms that could be considered more cutting-edge. For those that want to be the new trend-setters, read on for some other alternatives.
The MEAN Stack
MEAN is especially suitable for startups, as Vidit Saxena states in his Medium post: “It gives them something they can use when they’re still small, but which will also grow along with them to support more and more intensive applications
without needing to change any of the fundamental work already done.” I believe this capability for seamless scalability is crucial for business owners.
My research online for this article has led to many differing opinions about Struts and its capabilities vs. the competition. In fact, some articles even go so far as to recommend Struts over Spring. Some people can be opinionated on the topic, but it seems like in some cases the writers are really trying hard to find reasons to recommend Struts. For example, in that article I linked above, one of the selling points of Struts is support of AJAX – the writer isn’t exactly wrong, but I would also like to know what platform out there doesn’t support AJAX. That’s like saying the benefits of a sink is that it drains water.
While there isn’t a perfect framework choice out there, I believe most technical people tend to agree that Struts is showing its age, and that options such as Spring are a much better solution. I’ve seen first-hand that most technologies building out newer products are moving away from Struts, and usage statistics certainly add validity to that.