Node.js is an open source cross-platform runtime environment for developing server-side and web applications. It is built on the Google Chrome V8 JavaScript engine. You can use JavaScript in Node.js to implement everything you do in Ruby or PHP.

This article has sorted out 10 Node.js frameworks and divided them into three categories based on application functionality: API, full stack, and Sinatra-like frameworks. The data in this paper were collected on GitHub homepage of each project (December 20, 2016). This is subject to change.

API

The following frameworks are apI-driven and ideal for rapid deployment of Node.js API servers.

1. Actionhero

This is a fast, lightweight, and multitransport API server for Node.js, perfect for creating an easy-to-use toolkit for creating reusable and extensible apis. Integrates cluster performance and the ability to delay tasks.

Actionhero provides upper-level support (for example, through JSON integration) as well as working at the bottom (for example, communicating with TCP). It has cluster readiness, built-in support for background tasks and zero downtime deployment, and it can be distributed like a CDN without the need to run Apache or Nginx.

Making stars: 1511

Making contributors: 68

2. Loopback

This is a highly extensible API framework created by IBM to create dynamic end-to-end REST APIs with very little coding. It complements the Express framework by providing developers with a simple API tool.

The Loopback API connects to devices and integrates with Android, iOS, and AngularJS SDKS to create client applications. For the graphical version of the application, Loopback uses StrongLoop Arc.

Making stars: 7936

Making contributors: 82

3. Restify

This is a lightweight framework created for building REST APIs. It is a server-side framework that provides data through an API. Restify focuses on debugging and analysis to optimize the server.

Making stars: 6046

Making contributors: 146

4. Socket.io

This framework is mainly suitable for real-time Web application scenarios such as document collaboration and data exchange. Socket. IO can realize event-driven communication between Web client and server. It works like a client-side library in the browser, and there is also a server-side library for Node.js.

Socket. IO implements real-time bidirectional event-based communication mechanism. It aims to realize real-time APP functions on various browsers and mobile devices, blurring various transmission mechanisms. It is cross-platform and can automatically switch between different connection modes, making it easy to develop instant messaging. It also combines well with the traditional request mode provided by Express, that is, it can provide two connection modes in the same domain and port: Request/response, websocket (flashsocket, ajax…).

Making stars: 29306

Making contributors: 124

The whole stack

The following framework focuses on full stack support. They cover every step of application development, from middleware and UI to API and database integration.

5. Meteor

Meteor provides a super-simple environment for building modern Web applications. This is a Model View Controller (MVC) framework for building real-time Web applications that are constantly synchronized with the server. A set of pre-written independent modules are built in to support writing application code.

Applications built with Meteor can run on OS X, Windows, and Linux operating systems. It is an “opinionated” framework.

(Opinionated means that it is difficult and inconvenient to use the framework in other ways than one)

Making stars: 36236

Making contributors: 323

6. Keystone

Keystone, node.js CMS and Web application platform based on Express and MongoDB. This framework is ideal for database-driven Web applications and apis, where Express, MongoDB, and Mongoose are key components of Node.

Making stars: 8541

Making contributors: 183

7. MERN

Like Mean, it is a full stack Javascript development architecture that uses MongoDB, Express, React, and Node. It has the following characteristics

  • Hot loading of the React component
  • Modular file structure
  • Use the React router for code splitting
  • Ava Test run (Run tests in parallel)
  • Internationalization support
  • Support the Docker
  • Support code generation

Sinatra-like framework

8. Express

Express is a concise and flexible Node.js Web application framework that provides a series of powerful features to help you create a variety of Web applications. It is a fast, “non-stubborn”, minimalist and efficient middleware routing framework. Express is one of the most important required Node.js frameworks and is ideal for building Web/ mobile applications and apis.

Making stars: 29008

Making contributors: 192

9. Koa

Koa is the next generation of Node.js Web framework. Designed by the Express team. Designed to provide a foundation for smaller, more expressive, and more reliable Web applications and apis.

This is a callback-free lightweight middleware framework that can be used to write Web applications and REST APIs, as well as add new functionality and customize anything in the path. It supports ES6 and the latest versions of JavaScript. But it’s not the best framework for first-time Users of Node.js.

Making stars: 13022

Making contributors: 92

10. Hapi

Node.js server framework. Hapi is a rich framework for building Node.js-based applications and services, enabling developers to focus on portable and reusable application logic rather than building architecture. Built-in input validation, caching, authentication, and other features common to Web application development.

This framework is ideal for quick builds and API testing, or you can use Hapi to build complete websites. It has a great collection of plug-ins that enable it to work in parts without breaking the rest of the code base. Ideal for teamwork projects.

Because Hapi was created by walmart developers, it offers enterprise-level functionality.

Making stars: 7100

Making contributors: 151

The original link: my.oschina.net/hardbone/bl… Author: Open Source China – the director must mark in the text and keep the original link and author information