Introducing
The Slant team built an AI & it’s awesome
Find the best product instantly
Add to Chrome
Add to Edge
Add to Firefox
Add to Opera
Add to Brave
Add to Safari
Try it now
4.7 star rating
0
Development
Backend Development
What are the best Node.js backend microframeworks?
5
Options
Considered
70
User
Recs.
Feb 9, 2023
Last
Updated
Related Questions
Activity
Have feedback or ideas?
Join our community
on Discord
Ad
5
Options
Considered
Best Node.js backend microframeworks
Price
Written in
Repository
70
Express.js
-
JavaScript
https://github.com/expressjs/express
--
NestJS
Open Source
TypeScript
-
--
Koa
-
-
-
--
Hapi
-
JavaScript
https://github.com/hapijs/hapi
--
Sails.js
-
-
https://github.com/balderdashy/sails
See Full List
70
Express.js
My Rec
ommendation
for
Express.js
My Recommendation for
Express.js
All
16
Pros
14
Cons
1
Specs
Top
Pro
•••
Relatively mature
Being a somewhat old Node.js web app framework and being one of the most widely used frameworks, Express.js has matured quite a lot during all that time. It's more stable than its competitors and a huge community backing it.
See More
Top
Con
•••
No single recommended way of doing something
Express considers itself to be a "minimalistic unopinionated framework", it basically lets the developer determine how their project will be organized. On one hand, this gives anyone terrific power and flexibility to use any library they want for a certain task and to organize their project structure however they want. But on the other hand, there's no single recommended way of organizing things, which can be a trap for beginners and experienced developers alike and result in unmaintainable projects.
See More
Specs
Written in:
JavaScript
Repository:
https://github.com/expressjs/express
Platforms:
Cross-platform
License:
MIT
See All Specs
Top
Pro
•••
Support for a lot of plugins
Express takes advantage of Node's NPM to distribute and install countless plugins made by third parties which solve almost anything a developer would want to do with Express.
See More
Top
Pro
•••
Lightweight
See More
Top
Pro
•••
Setting up is very easy
Setting up a new Express project is very easy. It consists of installing a handful of libraries through NPM run a single npm install and everything is ready to go.
See More
Top
Pro
•••
Has the largest userbase
It's by far the most popular framework for node, with many libraries guides and resources available.
See More
Top
Pro
•••
Good documentation
Express.js is really well documented. Everything is covered and they are very helpful for beginners and advanced developers alike.
See More
Top
Pro
•••
Good Oauth/Facebook integration with connect module
You can easily add oAuth integration/social logins to your next web app without much hassle, using this authentication middleware for connect.
See More
Top
Pro
•••
Has detailed information
Very simple and fast.
See More
Top
Pro
•••
Express.js is in the Node.js Foundation Incubator Program
Node.js Foundation Announcement here The Node.js Foundation is a Collaborative Project at The Linux Foundation. Linux Foundation Collaborative Projects are independently funded software projects that harness the power of collaborative development to fuel innovation across industries and ecosystems.
See More
Top
Pro
•••
Massive ecosystem of middleware
If you have not already checked out the Express.js ecosystem of middleware, you should.
See More
Top
Pro
•••
Great for beginner Node.js programmers
With a little learning curve, it is a good choice for new NodeJS developers to get started quickly. Express boasts great, thorough documentation.
See More
Top
Pro
•••
Good Oath/Facebook integration with connect module
You can easily add oAuth integration/social logins to your next web app without much hassle, using this authentication middleware for connect.
See More
Top
Pro
•••
Great supportive community
Express has a big community with a lot of guide and tutorials written about it by developers that have been using it for quite some time.
See More
Top
Pro
•••
Great routing API
Express' extremely powerful routing API allows developers to do tasks ranging from building a REST API to building the routes for a simple web app and then take it to the next level by using route parameters and query strings.
See More
Hide
See All
Get it
here
Recommend
27
3
--
NestJS
My Rec
ommendation
for
NestJS
My Recommendation for
NestJS
All
7
Experiences
2
Pros
3
Cons
1
Specs
Top
Pro
•••
Uses Typescript
There is a lot of cool stuff, like decorators, full-fledged object-oriented programming and static types.
See More
Top
Con
•••
Few examples
See More
PreciseWadjWer's Experience
Uses type typescript + es6 decorators. So it is a good fit for Angular developers and also for java developers.
See More
Specs
Written in:
TypeScript
Price:
FREE
Top
Pro
•••
Modern
Allows you to structure your code using modern concepts.
See More
ReveredKinieGer's Experience
very similar to angular, with modules, services, controllers etc
See More
Top
Pro
•••
Allow access to express middlewares
See More
Hide
See All
Open Source
Recommend
14
--
Koa
My Rec
ommendation
for
Koa
My Recommendation for
Koa
All
3
Pros
2
Cons
1
Top
Pro
•••
Extremely lightweight
Koa is very lightweight with just 550 lines of code.
See More
Top
Con
•••
Not compatible with express style middleware
Koa uses generators which are not compatible with any other type of Node.js framework middleware.
See More
Top
Pro
•••
Generator support from ground up
Using generators (a bleeding edge feature, even for Node.js) would clean up your code from the mess caused by all those callbacks; making your code more manageable.
See More
Hide
See All
Get it
here
Recommend
6
--
Hapi
My Rec
ommendation
for
Hapi
My Recommendation for
Hapi
All
4
Pros
2
Cons
1
Specs
Top
Pro
•••
Backed by a major corporation
Hapi was developed and is still being used by Walmart. Being backed by such a major company means that it will not lose support any time soon and most importantly it's being developed by professionals and that you will always get support for it.
See More
Top
Con
•••
Requires too much boilerplate
Hapi seems to be made with large applications in mind. The sheer amount of boilerplate code it requires is simply not practical for a small web app. This also means that there are few examples of Hapi applications around for beginners to learn from.
See More
Specs
Written in:
JavaScript
Repository:
https://github.com/hapijs/hapi
Platforms:
Cross-platform
License:
BSD-3-Clause
See All Specs
Top
Pro
•••
Consistency across applications
Hapi's philosophy is that configuration is more important than code. This is especially useful for very large teams because it helps developers maintain consistency and reusability throughout their code.
See More
Hide
See All
Get it
here
Recommend
5
4
--
Sails.js
My Rec
ommendation
for
Sails.js
My Recommendation for
Sails.js
All
14
Pros
6
Cons
7
Specs
Top
Pro
•••
MVC 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.
See More
Top
Con
•••
Beta 1 since ages
Seems not to be under active development.
See More
Specs
Repository:
https://github.com/balderdashy/sails
Top
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.
See More
Top
Con
•••
No transactionality
See More
Top
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.
See More
Top
Con
•••
Limited ORM
The Waterline ORM is a bit limited. Associations were finally added after much time and many requests. However, they are (as of 2015) still incomplete. It is not a great ORM for MongoDB. You will very likely be using native MongoDB queries throughout your code more than you might like (for example, in the event you want to use Mongo's $inc to increment something). It's strange that Sails did not simply leverage an existing ORM for their frameworks. Many people fall into the trap of wanting to build their own despite many other existing solutions. It is only then that they realize just how much work goes into an ORM. Fortunately you can bring in whatever packages you want to use with Sails.js.
See More
Top
Pro
•••
Convention over configuration
Sails follows the Convention over Configuration philosophy. This is shown even through the CLI that comes with it which quickly and painlessly generates and scaffolds a new project following the conventions already established by the Sails community.
See More
Top
Con
•••
Incomplete, perhaps slow project development
This framework feels like something that is in perpetual beta. It was designed to solve a problem for someone and it probably did. However, it struggles a bit to keep up with Node.js breaking changes and overall the progress on the framework has slowed. If Sails.js does not work for your needs as is, do not count on it including a feature that you might need anytime soon.
See More
Top
Pro
•••
Works on top of Express
Sails was created to add stronger conventions to Express apps, as well as to have an ORM which could work transparently with both NoSQL and SQL databases. It works on a bit of a higher level on the development stack as Express, and the fact that it's built on top of it means that Sails does not have to deal with the most lower level stuff (such as critical performance and consistency issues across many different modules, like the Express router, cookie parser, body parser, etc...)
See More
Top
Con
•••
Slow
Sails.js adds overhead to Express.js (which it sits atop). As noted, startup is slow, but overall it is slow. It has a fairly large memory footprint due to the number of objects it has. It shouldn't be called "bloat" because you get a lot of convenient features with it and it seems like they've done a good job of keeping that feature set limited to the most common of needs. Despite that, it is a somewhat slow framework. Which is totally fine depending on your needs. But it is important to note that at scale, it will not be the most cost efficient solution due to increased resource usage which will then be reflected in hosting costs.
See More
Top
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.
See More
Top
Con
•••
Asset handling is messy
It's always best to serve assets statically (CDN, NAS, nginx proxy, etc.). But when you must do it through Node.js you should at least be certain to take into consideration cache busting. Sails will adjust your layout templates by adding HTML to it for new styles and scripts. You must go through their process of handling assets to minimize this. Not bad in and of itself, but it does make it annoying to bust cache. Overall the asset management in Sails.js is a little messy and is certainly not full-featured (yet).
See More
Top
Con
•••
Starting up takes a lot of time
One of the major benefits that Sails has is performance. But it's not as efficient when starting up. sails lift takes quite a lot of time to execute completely (although it is doing a lot of things behind the scenes - if you run it with the --verbose option, you can see all the different things it's doing). Granted, this would be perfectly fine if you had to execute sails lift just once, but unfortunately every time that you change anything you have to stop and start lift again.
See More
Hide
See All
Get it
here
Recommend
7
4
Don't see your favorite option? Add it.
Built By the Slant team
Find the best product instantly.
4.7 star rating
Add to Chrome
Add to Edge
Add to Firefox
Add to Opera
Add to Brave
Add to Safari
Try it now - it's free
One sec!
Are you sure that you want to abandon your hard work?
Delete Work
Continue working
{}
undefined
url next
price drop