Developers will love one framework over another for various reasons (and various projects), but all are guaranteed to boost the power of Node.js and speed up development cycles. If you’re developing an app with the MEAN stack or another Node-based back end, here are some frameworks to keep an eye out for when planning your software stack.
Think of middleware frameworks as the plumbing of your app, handling requests and responses between the server and the user interface. Having solid, well-built middleware early on ensures your app can scale, and scale well.
Express.js a lightweight, efficient middleware and routing framework. Express.js is best known as another quarter of the MEAN (MongoDB, Express, AngularJS and Node) software stack, and is the most popular Node.js framework. Because Node.js itself wasn’t intended to build websites, the Express framework is able to create an HTTP server in Node, layering in the middleware structure and response/request functions needed to actually run a site.
It’s a pretty minimalist framework that’s great for giving developers extra, built-in web application features and the Express API without overriding the already robust, feature-packed Node.js platform. Note that it does require a bit more manual tasks, which can be tedious and time consuming, and has a bit larger footprint than other frameworks.
Other frameworks like the kraken.js suite extend Express even further. Express has been used as a middleware framework for sites like MySpace, PayPal, and Klout.
MVC microframework that’s great for data-heavy enterprise-grade apps, and it’s built off of Express.js. It’s used for HTTP requests, with some Ruby on Rails-inspired magic. Its MVC pattern is based on Express and Socket.IO and is ideal for writing data-oriented applications and real-time features like a chat application. It’s also compatible with a ton of front-end frameworks, like AngularJS. Where it differs (and shines) is its API structure, automatically generating RESTful JSON models with support for websockets and HTTP.
Also check out: Nodal, Adonis, Trails, Strapi (great for fast, production-ready apps), RhapsodyJS, Compound.js, ThinkJS, and Geddy (for large-scale apps).
Socket.io is all about real-time communication and chat apps—the kind of software that hinges on robust event-driven, bidirectional communication between browsers and servers. It’s a websocket-compatible server that’s great at providing collaborative features and real-time analytics, whether they’re in the form of a counter or more in-depth metrics. Socket.io is compatible with every device, operating system, and browser. It’s been used by top tech companies like Trello, Zendesk, Microsoft, and Yammer, as well as Flightcar, a startup that lets people rent out their cars from the airport while they’re traveling.
Also check out: Nodal, RESTify, Frisby (great for testing API endpoints), Partial.js, Raddish, Fortune.js, and percolator.