Node.js 是一个开源的跨平台运行时环境,用于开发服务器端和网络应用程序,它基于 Google Chrome V8 JavaScript 引擎构建,你可以使用 Node.js 中的 JavaScript 来实现用 Ruby 或 PHP 所做的一切东西。
本文整理了 10 款 Node.js 框架,根据应用程序功能将框架分为三类:API,全栈和类 Sinatra 的框架。文中的数据统计于各项目的 GitHub 主页(时间为 2016.12.20)。以后可能会有变动。
以下框架由 API 驱动,是快速部署 Node.js API 服务器的理想选择。
这是一个适用于 Node.js 的快速、轻量级和多重传输的 API 服务器,非常适合创建一个易于使用的工具包来制作可重用和可扩展的 API。集成了集群性能和延迟任务的功能。
Actionhero 可提供上层的支持(例如通过 JSON 集成),同时也可以在底层工作(例如与 TCP 协议通信)。它具有集群准备、内置支持后台任务和零停机部署的功能,并且它能像 CDN 一样分发而不需要运行 Apache 或 Nginx。
GitHub stars:1,511
GitHub contributors:68
这是一个由 IBM 创建的高度可扩展的 API 框架,可以使用非常少的编码创建动态端到端的 REST APIs。它通过为开发人员提供一个简单的 API 工具来补充 Express 框架。
Loopback API 可以连接设备,而且可以与 Android,iOS 和 AngularJS SDK 集成以创建客户端应用程序。对于应用程序的图形版本,Loopback 使用 StrongLoop Arc。
GitHub stars:7,936
GitHub contributors:82
这是一个为构建 REST APIs 而创建的轻量级框架。它是一个通过 API 提供数据的服务器端框架。Restify 重点关注调试和分析,以便优化服务器。
GitHub stars:6,046
GitHub contributors:146
这个框架主要适用于实时 Web 应用的场景(例如文档协作和数据交换)。Socket.io 可以实现 Web 客户端和服务器之间的事件驱动通信;它在浏览器中像客户端库一样工作,还有一个用于 Node.js 的服务器端库。
Socket.io 实现了实时双向的基于事件的通讯机制。旨在让各种浏览器与移动设备上实现实时 app 功能,模糊化各种传输机制。它是跨平台的,多种连接方式自动切换,做即时通讯方面的开发很方便,而且能和 Express 提供的传统请求方式很好的结合,即可以在同一个域名,同一个端口提供两种连接方式:request/response, websocket(flashsocket,ajax…)
GitHub stars:29,306
GitHub contributors:124
以下框架专注于对全栈的支持。它们涵盖了应用程序开发的每一步,从中间件和 UI 到 API 和数据库的集成。
Meteor 提供构建现代 Web 应用程序的超简单环境。这是用于构建实时 Web 应用程序的模型视图控制器(MVC)框架,它与服务器不断同步。内置了一套预先编写好的独立的模块,支持编写应用程序代码。
使用 Meteor 构建的应用程序可以在 OS X,Windows 和 Linux 操作系统上运行。它是一个“固执(opinionated)”的框架。
(编者注:opinionated,编者理解的意思是如果不按照某种方式使用这个框架,而是用别的方法使用会导致用起来很困难、不方便)
GitHub stars:36,236
GitHub contributors:323
Keystone,以 Express 和 MongoDB 为基础搭建的 Node.js CMS 和 Web 应用程序平台。此框架是数据库驱动的 Web 应用程序和 API 的理想选择,其中 Express,MongoDB 和 Mongoose 是 Node 的关键组件。
GitHub stars:8,541
GitHub contributors:183
类似 Mean,是一个全栈 Javascript 开发架构,使用 MongoDB,Express,React,Node。具有以下特性
Express 是一个简洁而灵活的 Node.js Web 应用框架,提供一系列强大特性以帮助你创建各种 Web 应用。它是快速、“不固执”,简约和有效的中间件路由框架。Express 是最重要的必需 Node.js 框架之一,是构建 Web/移动应用程序和 API 的理想选择。
GitHub stars:29,008
GitHub contributors:192
Koa 是下一代的 Node.js 的 Web 框架。由 Express 团队设计。旨在提供一个更小型、更富有表现力、更可靠的 Web 应用和 API 的开发基础。
这是一个无回调的轻量级中间件框架,可以用于编写 Web 应用程序和 REST APIs,还可以添加新功能并自定义路径中的任何内容。它支持 ES6 和最新的 JavaScript 版本。但它不是第一次使用 Node.js 的用户的很好框架。
GitHub stars:13,022
GitHub contributors:92
Node.js 的服务器框架。Hapi 是一个用来构建基于 Node.js 的应用和服务的富框架,使得开发者把重点放在便携可重用的应用逻辑而不是构建架构。内建输入验证、缓存、认证和其他 Web 应用开发常用的功能。
此框架是快速构建和 API 测试的理想选择,你也可以使用 Hapi 构建完整的网站。它有一个伟大的插件集合,使其能够在部分工作,而不破坏其余的代码库。十分适用于团队合作项目。
由于 Hapi 是由沃尔玛的开发人员创建,因此它提供了企业级功能。
GitHub stars:7,100
GitHub contributors:151
关于:中科研拓
深圳市中科研拓科技有限公司专注提供软件外包、app开发、智能硬件开发、O2O电商平台、手机应用程序、大数据系统、物联网项目等开发外包服务,通过IT技术实现创造客户和社会的价值,成为优秀的软件公司,通过客户需求导向、开放式创新、卓越运营管理等战略的实施,全面打造公司的核心竞争力。很好软件外包公司、软件开发公司,联系电话400-0316-532,邮箱sales@zhongkerd.com,网址www.zhongkerd.com