When comparing Sails.js vs Spring MVC, the Slant community recommends Spring MVC for most people. In the question“What is the best web application framework?”Spring MVC is ranked 6th while Sails.js is ranked 11th. The most important reason people chose Spring MVC is:

Being the oldest and most used JVM web framework, means that Spring MVC has a massive community of followers who are very helpful and have provided numerous tutorials and answers on SO.
Spring even holds an annual conference called SpringOne. The Spring forums and SO are great places to ask and get help about anything Spring related. The website blog and newsletter keep developers informed on every news related with the framework.

Pros

Pro

MVC architecture

This could be a huge plus, if you prefer to build your apps using the Model View Controller architecture. Using Sails.js you'll find the task of separating the business logic from the user interface and keeping the interactions between them in a separate layer, extremely easy.

Pro

JSON API generated for free

Exposes public JSON API for free. No additional routing to be defined. Makes it pretty easy to access data from anywhere.

Pro

Transparent support for Socket.io

Sails.js is built with a focus on building real time communication apps such as chat or multiplayer games, so naturally it has Socket.io extremely well supported.

Pro

ORM that can be plugged into any database, or even custom web service

Sails.js uses Waterline ORM at its backend which means you can store your data in any datastore that you like; all you have to do is make a change to the Waterline adapter, this will allow you to store your data in MySQL/Redis or any other kind of database.

Pro

So easy to deploy and lift

Pro

Spring MVC has a massive community

Being the oldest and most used JVM web framework, means that Spring MVC has a massive community of followers who are very helpful and have provided numerous tutorials and answers on SO.

Spring even holds an annual conference called SpringOne. The Spring forums and SO are great places to ask and get help about anything Spring related. The website blog and newsletter keep developers informed on every news related with the framework.

Pro

Spring apps are highly scalable

Applications are meant to scale as the framework is used in large-scale applications worldwide. Components like EhCache are used to scale memory cache and it also contains components used for parallel processing.Batch enables processing of large volumes of records and job processing statistics.

Pro

Great documentation that covers almost everything

The official documentation covers virtually everything. The official website also has a series of great tutorials in video and text formats. There are links to Github repositories for Spring sample applications and there are also a lot of third-party tutorials out there for the fact that Spring MVC is so widely used by many experienced developers.

Pro

Spring has an extensive ecosystem

It is based and is dependent on the Spring Framework, therefore it benefits from tools like for example Roo and Spring Tool Suite and many more tools included in the Spring Framework. All Maven dependencies are available in a public Maven repository.There are also 3rd-party solutions for Spring, such as MyEclipse which includes scaffolding capability for Spring MVC.

Ad

Cons

Con

Poor ORM

The built-in Waterline is not well designed and is not suitable for production environments. Populating more than 1 level deep is a nightmare, there is no transaction support, new features/bug fixes are not implemented anywhere near a timely manner (the most requested feature 'deep populate' has been lingering in their github issues list for over a year and a half now).

Con

Lacking in UI development

While actually very good and with a very complete and rich feature set to develop and maintain code on the server side, it still doesn't provide any rich framework for building good user interfaces.

Con

Updating and code maintenance can be a grueling task if you are a beginner

Updating your project is manageable if you’re already familiar with the framework and the project itself, but if you’re just diving in it can be a little overwhelming and hard.

Con

Complex and not newbie friendly

Spring MVC architecture although simple has a lot of layers and abstractions which can be hard to debug if problems arise. It is also highly dependant on the Spring core.It's an old and mature framework that has numerous amount of ways to extend and configure it – and this actually makes it fairly complex.

Con

Bloated legacy DI API

Spring DI is bloated and rather complex in comparison to CDI.

Con

Slow Prototyping

If you are looking to build a quick prototype fast and easy, Spring isn't going to help much. It's very large and quite hard to grasp if you are just beginning with it.

Alternative Products

Each month, over 2.8 million people use Slant to find the best products and share their knowledge. Pick the tags you’re passionate about to get a personalized feed and begin contributing your knowledge.