What is Spring MVC and what are its top alternatives?
Top Alternatives to Spring MVC
Spring Boot
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration. ...
Rails
Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. ...
Spring Framework
It provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform. The framework's core features can be used by any Java application, but there are extensions for building web applications on top of the Java EE platform. ...
JSF
It is used for building component-based user interfaces for web applications and was formalized as a standard through the Java Community ...
Vaadin
It is the fastest way to build web applications in Java. It automates the communication between your server and the browser and gives you a high-level component API for all Vaadin components ...
React
Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project. ...
Jersey
It is open source, production quality, framework for developing RESTful Web Services in Java that provides support for JAX-RS APIs and serves as a JAX-RS (JSR 311 & JSR 339) Reference Implementation. It provides it’s own API that extend the JAX-RS toolkit with additional features and utilities to further simplify RESTful service and client development. ...
Spring
A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments. ...
Spring MVC alternatives & related posts
Spring Boot
- Powerful and handy127
- Easy setup121
- Java111
- Spring83
- Fast79
- Extensible39
- Lots of "off the shelf" functionalities32
- Cloud Solid27
- Caches well21
- Many receipes around for obscure features19
- Modular18
- Productive18
- Integrations with most other Java frameworks17
- Spring ecosystem is great16
- Fast Performance With Microservices16
- Community14
- Auto-configuration13
- Easy setup, Community Support, Solid for ERP apps11
- One-stop shop11
- Easy to parallelize10
- Cross-platform9
- Easy setup, good for build erp systems, well documented9
- Easy setup, Git Integration8
- Powerful 3rd party libraries and frameworks8
- Kotlin2
- It's so easier to start a project on spring2
- Heavy weight18
- Annotation ceremony17
- Many config files needed10
- Java7
- Reactive5
- Excellent tools for cloud hosting, since 5.x4
related Spring Boot posts






















We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.
To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas
To build #Webapps we decided to use Angular 2 with RxJS
#Devops - GitHub , Travis CI , Terraform , Docker , Serverless
Is learning Spring and Spring Boot for web apps back-end development is still relevant in 2021? Feel free to share your views with comparison to Django/Node.js/ ExpressJS or other frameworks.
Please share some good beginner resources to start learning about spring/spring boot framework to build the web apps.
- Rapid development845
- Great gems647
- Great community603
- Convention over configuration478
- Mvc416
- Great for web349
- Beautiful code344
- Open source311
- Great libraries270
- Active record260
- Elegant105
- Easy to learn87
- Easy Database Migrations85
- Makes you happy77
- Free72
- Great routing62
- Has everything you need to get the job done53
- Great Data Modeling41
- Beautiful38
- MVC - Easy to start on38
- Easy setup35
- Great caching26
- Ultra rapid development time25
- It's super easy22
- Great Resources17
- Easy to build mockups that work16
- Less Boilerplate14
- API Development7
- Developer Friendly7
- Great documentation6
- Easy REST API creation5
- Quick5
- Haml and sass4
- Intuitive4
- Easy to learn, use, improvise and update4
- Great language4
- Legacy2
- Jet packs come standard2
- Easy and fast2
- Metaprogramming2
- It works2
- It's intuitive1
- Cancan1
- Easy Testing1
- Convention over configuration1
- Too much "magic" (hidden behavior)20
- Poor raw performance13
- Asset system is too primitive and outdated11
- Bloat in models6
- Heavy use of mixins6
- Very Very slow3
related Rails posts
Oof. I have truly hated JavaScript for a long time. Like, for over twenty years now. Like, since the Clinton administration. It's always been a nightmare to deal with all of the aspects of that silly language.
But wowza, things have changed. Tooling is just way, way better. I'm primarily web-oriented, and using React and Apollo together the past few years really opened my eyes to building rich apps. And I deeply apologize for using the phrase rich apps; I don't think I've ever said such Enterprisey words before.
But yeah, things are different now. I still love Rails, and still use it for a lot of apps I build. But it's that silly rich apps phrase that's the problem. Users have way more comprehensive expectations than they did even five years ago, and the JS community does a good job at building tools and tech that tackle the problems of making heavy, complicated UI and frontend work.
Obviously there's a lot of things happening here, so just saying "JavaScript isn't terrible" might encompass a huge amount of libraries and frameworks. But if you're like me, yeah, give things another shot- I'm somehow not hating on JavaScript anymore and... gulp... I kinda love it.











StackShare Feed is built entirely with React, Glamorous, and Apollo. One of our objectives with the public launch of the Feed was to enable a Server-side rendered (SSR) experience for our organic search traffic. When you visit the StackShare Feed, and you aren't logged in, you are delivered the Trending feed experience. We use an in-house Node.js rendering microservice to generate this HTML. This microservice needs to run and serve requests independent of our Rails web app. Up until recently, we had a mono-repo with our Rails and React code living happily together and all served from the same web process. In order to deploy our SSR app into a Heroku environment, we needed to split out our front-end application into a separate repo in GitHub. The driving factor in this decision was mostly due to limitations imposed by Heroku specifically with how processes can't communicate with each other. A new SSR app was created in Heroku and linked directly to the frontend repo so it stays in-sync with changes.
Related to this, we need a way to "deploy" our frontend changes to various server environments without building & releasing the entire Ruby application. We built a hybrid Amazon S3 Amazon CloudFront solution to host our Webpack bundles. A new CircleCI script builds the bundles and uploads them to S3. The final step in our rollout is to update some keys in Redis so our Rails app knows which bundles to serve. The result of these efforts were significant. Our frontend team now moves independently of our backend team, our build & release process takes only a few minutes, we are now using an edge CDN to serve JS assets, and we have pre-rendered React pages!
#StackDecisionsLaunch #SSR #Microservices #FrontEndRepoSplit
Spring Framework
related Spring Framework posts
I would like to generate all the repetitive code in order to bootstrap my Java project. I need to define my own models. I want to be able to customize everything in what will be generated. JHipster is more popular but seems to be really related to the Spring Framework. Telosys supports multi-languages, multi-frameworks, and is highly customizable. Any feedback about these 2 tools?
- Rich and comprehensive Request Life-cycle1
- Very Mature UI framework1
- Server Side component1
related JSF posts
- Java5
- Compatibility3
- Components3
- Open Source3
- Example packages2
- Abstraction1
- OSGI Support1
- Performance1
- Paid for more features3
related Vaadin posts
- Components738
- Virtual dom646
- Performance553
- Simplicity478
- Composable434
- Data flow171
- Declarative157
- Isn't an mvc framework122
- Reactive updates112
- Explicit app state109
- JSX29
- Learn once, write everywhere21
- Uni-directional data flow17
- Easy to Use16
- Works great with Flux Architecture14
- Great perfomance9
- Built by Facebook6
- Javascript4
- Feels like the 90s4
- Speed4
- Scalable4
- TypeScript support3
- Functional3
- Easy to start3
- Server side views3
- Fast evolving2
- Great migration pathway for older systems2
- SSR2
- Simple, easy to reason about and makes you productive2
- Fancy third party tools2
- Excellent Documentation2
- Scales super well2
- Just the View of MVC2
- Server Side Rendering2
- Awesome2
- Cross-platform2
- Hooks2
- Rich ecosystem2
- Split your UI into components with one true state1
- Props1
- Fragments1
- Sharable1
- Every decision architecture wise makes sense1
- Permissively-licensed1
- Super easy1
- Beautiful and Neat Component Management1
- Has functional components1
- Very gentle learning curve1
- Closer to standard JavaScript and HTML than others1
- Sdfsdfsdf1
- Strong Community1
- Has arrow functions1
- Allows creating single page applications1
- Simple1
- Start simple0
- Requires discipline to keep architecture organized31
- No predefined way to structure your app19
- Need to be familiar with lots of third party packages18
- JSX6
- Not enterprise friendly6
- State consistency with backend neglected1
- One-way binding only1
related React posts









I am starting to become a full-stack developer, by choosing and learning .NET Core for API Development, Angular CLI / React for UI Development, MongoDB for database, as it a NoSQL DB and Flutter / React Native for Mobile App Development. Using Postman, Markdown and Visual Studio Code for development.
I've used both Vue.js and React and I would stick with React. I know that Vue.js seems easier to write and its much faster to pick up however as you mentioned above React has way more ready made components you can just plugin, and the community for React is very big.
It might be a bit more of a steep learning curve for your friend to learn React over Vue.js but I think in the long run its the better option.
- Lightweight2
- Fast Performance With Microservices1
- Java standard1
related Jersey posts
Spring
- Java216
- Open source153
- Great community131
- Very powerful117
- Enterprise110
- Lot of great subprojects61
- Easy setup58
- Convention , configuration, done44
- Standard37
- Love the logic29
- Dependency injection10
- Good documentation10
- Stability9
- MVC6
- Easy6
- Makes the hard stuff fun & the easy stuff automatic3
- Strong typing3
- Great Desgin2
- Integrations with most other Java frameworks2
- Easy Integration with Spring Security2
- Maven2
- Best practices1
- Live project1
- OracleDb integration1
- Code maintenance1
- Large ecosystem with seamless integration1
- Java has more support and more libraries1
- Supports vast databases1
- Draws you into its own ecosystem and bloat12
- Verbose configuration2
- Poor documentation2
- Java1
related Spring posts
Is learning Spring and Spring Boot for web apps back-end development is still relevant in 2021? Feel free to share your views with comparison to Django/Node.js/ ExpressJS or other frameworks.
Please share some good beginner resources to start learning about spring/spring boot framework to build the web apps.
I am consulting for a company that wants to move its current CubeCart e-commerce site to another PHP based platform like PrestaShop or Magento. I was interested in alternatives that utilize Node.js as the primary platform. I currently don't know PHP, but I have done full stack dev with Java, Spring, Thymeleaf, etc.. I am just unsure that learning a set of technologies not commonly used makes sense. For example, in PrestaShop, I would need to work with JavaScript better and learn PHP, Twig, and Bootstrap. It seems more cumbersome than a Node JS system, where the language syntax stays the same for the full stack. I am looking for thoughts and advice on the relevance of PHP skillset into the future AND whether the Node based e-commerce open source options can compete with Magento or Prestashop.