全文
Node.js 是两个开放源码的虚拟化运转时自然环境,用作合作开发伺服器端和应用软体流程,它如前所述 Google Chrome V8 JavaScript 发动机构筑,你能采用 Node.js 中的 JavaScript 来与此同时实现用 Ruby 或 PHP 所做的所有人小东西。
责任编辑重新整理了 10 款 Node.js 架构,依照插件机能将架构分成四类:API,全栈和类 Sinatra 的架构。该文的统计数据统计统计数据于每工程项目的 GitHub 网页(天数为 2016.12.20)。之后可能会有发生变动。
API
下列架构由 API 驱动力,是加速布署 Node.js API 伺服器的平庸优先选择。
1. Actionhero
这是两个适用于作 Node.js 的加速、轻量和双重统计数据传输的 API 伺服器,适于建立两个更易采用的软件包来制做可宠信和可扩充的 API。软件系统了软件产业操控性和延后各项任务的机能。
Actionhero 可提供更多下层的全力支持(例如透过 JSON 软件系统),与此同时也能在下层组织工作(比如与 TCP 协定通讯)。它具备软件产业预备、内建全力支持后台各项任务和零断电布署的机能,因此它能像 CDN 那样递送而不须要运转 Apache 或 Nginx。
GitHub stars:1,511
GitHub contributors:682. Loopback
这是两个由 IBM 建立的高度可扩充的 API 架构,能采用非常少的编码建立动态端到端的 REST APIs。它透过为合作开发人员提供更多两个简单的 API 工具来补充 Express 架构。
Loopback API 能连接设备,而且能与 Android,iOS 和 AngularJS SDK 软件系统以建立客户端插件。对于插件的图形版本,Loopback 采用 StrongLoop Arc。
GitHub stars:7,936
GitHub contributors:823. Restify
这是两个为构筑 REST APIs 而建立的轻量架构。它是两个透过 API 提供更多统计数据的伺服器端架构。Restify 重点关注调试和分析,以便优化伺服器。
GitHub stars:6,046
GitHub contributors:1464. Socket.io
这个架构主要适用于作实时 Web 应用的场景(比如文档协作和统计数据交换)。Socket.io 能与此同时实现 Web 客户端和伺服器之间的事件驱动力通讯;它在浏览器中像客户端库那样组织工作,还有两个用作 Node.js 的伺服器端库。
Socket.io 与此同时实现了实时双向的如前所述事件的通讯机制。旨在让各种浏览器与移动设备上与此同时实现实时 app 机能,模糊化各种统计数据传输机制。它是虚拟化的,多种连接方式自动切换,做即时通讯方面的合作开发很方便,而且能和 Express 提供更多的传统请求方式很好的结合,即能在同两个域名,同两个端口提供更多两种连接方式:request/response, websocket(flashsocket,ajax…)
GitHub stars:29,306
GitHub contributors:124全栈
下列架构专注于对全栈的全力支持。它们涵盖了插件合作开发的每一步,从中间件和 UI 到 API 和统计数据库的软件系统。
5. Meteor
Meteor 提供更多构筑现代 Web 插件的超简单自然环境。这是用作构筑实时 Web 插件的模型视图控制器(MVC)架构,它与伺服器不断同步。内建了一套预先编写好的独立的模块,全力支持编写插件代码。
采用 Meteor 构筑的插件能在 OS X,Windows 和 Linux 操作系统上运转。它是两个“固执(opinionated)”的架构。
“
(编者注:opinionated,编者理解的意思是如果不按照某种方式采用这个架构,而是用别的方法采用会导致用起来很困难、不方便)
GitHub stars:36,236
GitHub contributors:3236. Keystone
Keystone,以 Express 和 MongoDB 为基础搭建的 Node.js CMS 和 Web 插件平台。此架构是统计数据库驱动力的 Web 插件和 API 的平庸优先选择,其中 Express,MongoDB 和 Mongoose 是 Node 的关键组件。
GitHub stars:8,541
GitHub contributors:1837. MERN
类似 Mean,是两个全栈 Javascript 合作开发架构,采用 MongoDB,Express,React,Node。具备下列特性
● React 组件的热加载
● 模块化文件结构
● 采用 React 路由器进行代码拆分
● Ava 测试运转(并行运转测试)
● 国际化全力支持
● 全力支持 Docker
● 全力支持代码生成
类似 Sinatra 的架构
8. Express
Express 是两个简洁而灵活的 Node.js Web 应用架构,提供更多一系列强大特性以帮助你建立各种 Web 应用。它是加速、“不固执”,简约和有效的中间件路由架构。Express 是最重要的必需 Node.js 架构之一,是构筑 Web/移动插件和 API 的平庸优先选择。
GitHub stars:29,008
GitHub contributors:1929. Koa
Koa 是下一代的 Node.js 的 Web 架构。
由 Express 团队设计。旨在提供更多两个更小型、更富有表现力、更可靠的 Web 应用和 API 的合作开发基础。
这是两个无回调的轻量中间件架构,能用作编写 Web 插件和 REST APIs,还能添加新机能并自定义路径中的任何内容。它全力支持 ES6 和最新的 JavaScript 版本。但它不是第一次采用 Node.js 的用户的最佳架构。
GitHub stars:13,022
GitHub contributors:9210. Hapi
Node.js 的伺服器架构。Hapi 是两个用来构筑如前所述 Node.js 的应用和服务的富架构,使得合作开发者把重点放在便携可宠信的应用逻辑而不是构筑架构。内建输入验证、缓存、认证和其他 Web 应用合作开发常用的机能。
此架构是加速构筑和 API 测试的平庸优先选择,你也能采用 Hapi 构筑完整的网站。它有两个伟大的插件集合,使其能够在部分组织工作,而不破坏其余的代码库。十分适用于作团队合作工程项目。
由于 Hapi 是由沃尔玛的合作开发人员建立,因此它提供更多了企业级机能。
GitHub stars:7,100
GitHub contributors:151 推荐阅读7 款从 HTML 文档提取文本的工具
点击