主流Node.js 框架推荐

目前前端技术非常火热,并且技术持续更新,目前很多前端技术是基于Node.js构建。Node.js也成为前端工程师必会的技术栈,这里为前端开发工程师推荐几个好用的Node.js框架。

1. Express.JS

Express是一种流行的模型视图控制器(MVC)Node.js框架,具有快速、极简和灵活的优点,为Web和移动应用程序开发提供了强大的功能集合。它或多或少是在Node.js上编写Web应用程序的事实上的API。

它是一组路由库,提供了一层薄薄的基本Web应用程序功能,添加到讨巧的现有Node.js功能中。它侧重于高性能,支持强大的路由和HTTP帮助程序(重定向和缓存等)。它随带支持逾14个模板引擎的视图系统、内容协商以及用于快速生成应用程序的可执行文件。

此外,Express还随带大量易于使用的HTTP实用程序方法、函数和中间件,从而使开发人员能够轻松快速地编写可靠的API。几个流行的Node.js框架基于Express构建。

2. Socket.io

Socket.io是一种快速可靠的全堆栈框架,用于构建实时应用程序。它为基于事件的实时双向通信而设计。

它支持自动重新连接、断开检测、二进制、多路复用和房间。它有一个简单方便的API,适用于所有平台、浏览器或设备(同样专注于可靠性和速度)。

3. Meteor.JS

Meteor.js是一种超简单的全堆栈Node.js框架,用于构建现代Web和移动应用程序。它与Web、iOS、Android或桌面系统兼容。

它集成了用于构建连接客户端响应应用程序的关键技术集合、构建工具以及来自Node.js和整个JavaScript社区的一套精选的软件包。

4. Koa.JS

Koa.js是Express的开发人员构建的一种新的Web框架,使用ES2017异步功能。它旨在成为一种更小巧、更具表达力和更可靠的基础框架,用于开发Web应用程序和API。它使用promises和async函数,消除应用程序的回调地狱(callback hell),并简化错误处理。

5. Sails.js

Sailsjs是一种基于Express的实时MVC Web开发框架,面向Node.js。它的MVC架构类似Ruby on Rails等框架的架构。但不同之处在于,它支持更现代的、数据驱动的Web应用程序和API开发。

它支持自动生成的REST API、与WebSocket轻松集成,并与任何前端兼容:Angular、React、iOS、Android、Windows Phone以及自定义硬件。

它拥有支持现代应用程序需求的功能。Sails特别适合开发聊天之类的实时功能。

6. MEAN.io

MEAN的全称是Mongo、Express、Angular(6)和Node,结合了一套开源技术,这些技术共同提供了一种从头开始构建动态Web应用程序的端到端框架。

它旨在提供一个简单而有趣的起点,用于编写云原生全堆栈JavaScript应用程序。它是另一种基于Express构建的Node.js框架。

7. Nest.JS

Nest.js是一种灵活的、通用的、渐进式的Node.js REST API框架,用于构建高效、可靠、可扩展的服务器端应用程序。它使用现代JavaScript,使用TypeScript构建。它结合了OOP(面向对象编程)、FP(函数式编程)和FRP(函数式反应编程)的元素。

它是一种开箱即用的应用程序架构,打包成一个完整的开发工具包,用于编写企业级应用程序。在内部它使用Express,并与另外众多库兼容。

8. Loopback.io

LoopBack是一种高度可扩展的Node.js框架,让你在几乎不用编程的情况下就能创建动态的端到端REST API。它旨在使开发人员能够在几分钟内轻松构建模型并创建REST API。

它支持轻松的身份验证和授权设置。它还随带模型关系支持、各种后端数据存储、即席查询和附加组件(第三方登录和存储服务)。

9. Keystone.JS

KeystoneJS是一种开源、轻量级、灵活且可扩展的Nodejs全堆栈框架,基于Express和MongoDB构建。它用来构建数据库驱动的网站、应用程序和API。

它支持动态路由、表单处理、数据库构建块(ID/字符串/布尔值/日期/数字)以及会话管理。它随带一个漂亮的、可定制的管理UI,可以轻松管理你的数据。

有了Keystone,一切都很简单;你选择并使用适合自身要求的功能,替换不适合要求的功能。

10. Feathers.JS

Feathers.js是一种实时极简的微服务REST API框架,用于编写现代应用程序。它结合了各种工具和架构,旨在从头开始轻松编写可扩展的REST API和实时Web应用程序。它也基于Express构建。

它可以在几分钟内快速构建应用程序原型,在几天内构建生产就绪的实时后端。它可以轻松与任何客户端框架集成,无论是Angular、React还是VueJS。此外,它还支持灵活的可选插件,以便在你的应用程序中实现身份验证和授权权限。最重要的是,诸多功能使你能够编写出简洁而灵活的代码。

11. Hapi.JS

Hapi.js是一种简单、丰富、稳定、可靠的MVC框架,用于构建应用程序和服务。它用于编写可重用的应用程序逻辑,而不是构建基础架构。它以配置为中心,并提供诸多功能,比如输入验证、缓存、身份验证及其他必要功能等。

12. Strapi.io

Strapi是一种快速、可靠且功能丰富的MVC Node.js框架,用于为网站/应用程序或移动应用程序开发高效安全的API。Strapi默认是安全的,它面向插件(每个新项目都提供一组默认插件),并与前端无关。

它随带一个嵌入式优雅、完全可定制、完全可扩展的管理面板,拥有控制数据的headless CMS功能。

13. Restify.JS

Restify是一种利用连接样式中间件的Nodejs REST API框架。究其底层,它大量借鉴了Express。它经过了优化(尤其是针对自省和性能),用于构建语义正确的、充分利用REST的Web服务,这种Web服务可大规模用于生产环境。

重要的是,Restify用于支持外面众多庞大的Web服务,比如像Netflix这样的公司。

14. Adonis.JS

Adonis.js是另一种流行的Node.js Web框架,简单而稳定,拥有优雅的语法。这种MVC框架提供了一个稳定的生态系统,以便从头开始编写稳定、可扩展的服务器端Web应用程序。Adonisjs采用模块化设计,它由多个服务提供者(service provider)组成,服务提供者是AdonisJs应用程序的构建模块。

总结一下,个人觉得Express框架使用量最大,因为其简单容易上手,尤其对新手来讲Express绝对算得上入门级框架。同时本站服务端也是Express编写,并且有向Nest.js更新的打算。