【编者按】本文做者为 Peter Wayner,主要介绍13款至精至简的 Node.js 框架,帮助你简化高速网站、丰富 API 以及实时应用的开发流程。本文系国内 ITOM 管理平台 OneAPM 编译呈现,如下为正文第二部分。点此查看本文的第一部分。html
Node.js 推出至今也有些年头了,但它就像初生的太阳,充满朝气。人们不断地探索更新更好的平台信息发布方式,因而选择也愈来愈多。这些努力最终催生了多款 Node.js 框架,不管是 Node.js 爱好者仍是新手,均可以尽情探索,寻求新的提高。下文将介绍另外7款不错的 Node.js 框架。前端
##七、Hapi java
借助 Hapi 框架,能够搭建完整的网站。可是,不少 Hapi 用户专一于用其打造从后台抽取数据,并快速高效地进行发布的服务。每台服务器只是一组映射的集合,这些映射将 URL 路径对应到生成结果的函数,而这些路由则经过 Hapi API 进行配置,而不是写入新代码中。此外,Hapi 社区支持多种多样的插件,可用于处理搭建服务时必要的身份验证、安全等问题。node
上图展现了 Boom 插件正式断定的几个标准化错误,Boom 插件提供了一组工具,能够帮助用户更好地了解可能出现的 HTTP 错误。nginx
Hapi 基于要求基本属性的许可证发布,其 GitHub 地址在此。git
##八、Sails.js github
若是你须要打造一个企业级的自定义 Web 应用,Sails.js MVC 框架能帮助你处理许多应用核心任务,同时适应性很高,能与其余工具协做。据其维护人员称:Sails 不只“无所谓前端环境”,并且能适配“任何数据库”。而且,若是你使用该框架生成的标准 REST API,其中的大部分实现过程都是自动化的。若是你喜欢 Ruby 的惯例哲学以及 MVC 的分离特性,Sails 的一切会显得似曾相识,你也能很快上手。mongodb
上图展现了一个 Sails 应用的基本目录结构。数据库
Sails 基于 MIT 许可证发布,其 GitHub 地址在此。express
##九、StrongLoop
建立 API 的大部分工做均可以自动化。一旦知道了数据模型,搭建用于数据编辑的工具在很大程度上只是练习而已。StrongLoop 自动化了大部分此类操做,并添加了针对大多数大型数据存储,诸如 Oracle、MySQL 及 MongoDB,的链接器。此外,为了提升适应性,他们不是支持随时间变化的动态数据模型,就支持带有固定模式的静态模型。这由你决定。此外,还提供了一个现成的安全层,具有访问控制表及一些不错的移动服务。以上一切都是基于 Express 搭建的,所以,你要从 Express 的所有功能集入手。
上图展现了 StrongLoop 的 API 探索工具。
对于测试项目,StrongLoop 可基于混合型开源许可证发布。其 GitHub 地址在此。
##十、ActionHero
许多框架都把为全功能用户提供高端支持设为目标,这些用户每每运行着浏览器、经过 JSON 实现交互。ActionHero 不只能实现这一点,还在低端,经过有线协议与 TCP 直接通讯。若是你须要比 JSON 更为简单的数据格式,这就很是方便了。此外,若是你想发送原始文件,这一机制也大有益处,由于 ActionHero 的发布方式与 CDN 相似,不会要求你运行 Apache 或 Nginx。
上图展现了 ActionHero 处理不一样动做以及与 Redis 链接的栈结构。
ActionHero 基于 Apache 许可证发布,其 GitHub 地址在此。
##十一、Keystone.js
Express 与 MongoDB 是 Node.js 栈的关键组成部分。可是,你须要将两者结合,再添加一点新的功能,才能真正实现消息传递。Keystone.js 旨在联结 Express 与 MongoDB 以实现一个内容管理系统。不过,借助于 Keystone 提供的 Yeoman 框架构建服务,这一过程已经大为简化。Yeoman 能帮助你填好文件,安装好运行博客或博文等内容所需的全部组件。
上图展现了一个使用 Yeoman 及 Keystone 搭建的图片共享演示网页的一部分。
Keystone 基于 MIT 许可证发布,其 GitHub 地址在此。
##十二、Sequelize
像 PostgresQL 或 MySQL 之类的 SQL 数据库来自事务处理世界,你发出一个命令,进而等待答复。而 Node 则创建于在 JavaScript 中颇为常见的异步回调架构。Sequelize 将两者进行了整合。当你为其支持的五大数据库中的任意一种建立 SQL 查询时,Sequelize 会发送查询,并承诺在数据库返回查询结果时调用你的函数。它将旧世界与新的架构命令(architectural imperative)进行了联姻。
上图展现了如何重写一条旧 SQL 查询以适应 Node 摩登世界。
Sequelize 的源码基于要求基本属性的许可证发布,其 GitHub 地址在此。
##1三、Mean.io
实际上,Mean 并非一个 Node.js 框架。它是一组预先优化过以协调运行的框架与技术的集合。做为缩略词,MEAN 实际上表明着 MongoDB, Express, Angular 以及 Node。每一个组成成分自己都是 Node 生态系统中最流行的部分。当它们汇集在一块儿时,使用起来甚至更加方便。
上图展现了 Node 包管理器如何安装这些成分,以及用于开发应用的一个新指令: mean
。
组成 Mean 的各个成分有其本身的许可证以及源码库。
OneAPM 能帮助您轻松锁定 Node.js 应用性能瓶颈,经过强大的 Trace 记录逐层分析,直至锁定行级问题代码。以用户角度展现系统响应速度,以地域和浏览器维度统计用户使用状况。想阅读更多技术文章,请访问 OneAPM 官方博客。
本文转自 OneAPM 官方博客