13 款惊艳的 Node.js 框架——第2部分

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: 本文作者为 Peter Wayner,主要介绍13款至精至简的 Node.js 框架,帮助你简化高速网站、丰富 API 以及实时应用的开发流程。本文系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文第二部分

【编者按】本文作者为 Peter Wayner,主要介绍13款至精至简的 Node.js 框架,帮助你简化高速网站、丰富 API 以及实时应用的开发流程。本文系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文第二部分。点此查看本文的第一部分

Node.js 推出至今也有些年头了,但它就像初生的太阳,充满朝气。人们不断地探索更新更好的平台信息发布方式,于是选择也越来越多。这些努力最终催生了多款 Node.js 框架,不论是 Node.js 爱好者还是新手,都可以尽情探索,寻求新的提升。下文将介绍另外7款不错的 Node.js 框架。

7、Hapi

13 款惊艳的 Node.js 框架第2部分

借助 Hapi 框架,可以搭建完整的网站。但是,很多 Hapi 用户专注于用其打造从后台抽取数据,并快速高效地进行发布的服务。每台服务器只是一组映射的集合,这些映射将 URL 路径对应到生成结果的函数,而这些路由则通过 Hapi API 进行配置,而不是写入新代码中。此外,Hapi 社区支持多种多样的插件,可用于处理搭建服务时必要的身份验证、安全等问题。

上图展示了 Boom 插件正式判定的几个标准化错误,Boom 插件提供了一组工具,可以帮助用户更好地了解可能出现的 HTTP 错误。

Hapi 基于要求基本属性的许可证发布,其 GitHub 地址在此

8、Sails.js

13 款惊艳的 Node.js 框架第2部分

如果你需要打造一个企业级的自定义 Web 应用,Sails.js MVC 框架能帮助你处理许多应用核心任务,同时适应性很高,能与其他工具协作。据其维护人员称:Sails 不仅“无所谓前端环境”,而且能适配“任何数据库”。并且,如果你使用该框架生成的标准 REST API,其中的大部分实现过程都是自动化的。如果你喜欢 Ruby 的惯例哲学以及 MVC 的分离特性,Sails 的一切会显得似曾相识,你也能很快上手。

上图展示了一个 Sails 应用的基本目录结构。

Sails 基于 MIT 许可证发布,其 GitHub 地址在此

9、StrongLoop

13 款惊艳的 Node.js 框架第2部分

创建 API 的大部分工作都可以自动化。一旦知道了数据模型,搭建用于数据编辑的工具在很大程度上只是练习而已。StrongLoop 自动化了大部分此类操作,并添加了针对大多数大型数据存储,诸如 Oracle、MySQL 及 MongoDB,的连接器。此外,为了提高适应性,他们不是支持随时间变化的动态数据模型,就支持带有固定模式的静态模型。这由你决定。此外,还提供了一个现成的安全层,具备访问控制表及一些不错的移动服务。以上一切都是基于 Express 搭建的,因此,你要从 Express 的全部功能集入手。

上图展示了 StrongLoop 的 API 探索工具。

对于测试项目,StrongLoop 可基于混合型开源许可证发布。其 GitHub 地址在此

10、ActionHero

13 款惊艳的 Node.js 框架第2部分

许多框架都把为全功能用户提供高端支持设为目标,这些用户往往运行着浏览器、通过 JSON 实现交互。ActionHero 不仅能实现这一点,还在低端,通过有线协议与 TCP 直接通信。如果你需要比 JSON 更为简单的数据格式,这就非常方便了。此外,如果你想发送原始文件,这一机制也大有益处,因为 ActionHero 的发布方式与 CDN 类似,不会要求你运行 Apache 或 Nginx

上图展示了 ActionHero 处理不同动作以及与 Redis 连接的栈结构。

ActionHero 基于 Apache 许可证发布,其 GitHub 地址在此

11、Keystone.js

13 款惊艳的 Node.js 框架第2部分

Express 与 MongoDB 是 Node.js 栈的关键组成部分。但是,你需要将二者结合,再添加一点新的功能,才能真正实现消息传递。Keystone.js 旨在联结 Express 与 MongoDB 以实现一个内容管理系统。不过,借助于 Keystone 提供的 Yeoman 框架构建服务,这一过程已经大为简化。Yeoman 能帮助你填好文件,安装好运行博客或博文等内容所需的所有组件。

上图展示了一个使用 Yeoman 及 Keystone 搭建的图片共享演示网页的一部分。

Keystone 基于 MIT 许可证发布,其 GitHub 地址在此

12、Sequelize

13 款惊艳的 Node.js 框架第2部分

像 PostgresQL 或 MySQL 之类的 SQL 数据库来自事务处理世界,你发出一个命令,进而等待答复。而 Node 则建立于在 JavaScript 中颇为常见的异步回调架构。Sequelize 将二者进行了整合。当你为其支持的五大数据库中的任意一种创建 SQL 查询时,Sequelize 会发送查询,并承诺在数据库返回查询结果时调用你的函数。它将旧世界与新的架构命令(architectural imperative)进行了联姻。

上图展示了如何重写一条旧 SQL 查询以适应 Node 摩登世界。

Sequelize 的源码基于要求基本属性的许可证发布,其 GitHub 地址在此

13、Mean.io

13 款惊艳的 Node.js 框架第2部分

实际上,Mean 并不是一个 Node.js 框架。它是一组预先优化过以协调运行的框架与技术的集合。作为缩略词,MEAN 实际上代表着 MongoDB, Express, Angular 以及 Node。每个组成成分本身都是 Node 生态系统中最流行的部分。当它们聚集在一起时,使用起来甚至更加方便。

上图展示了 Node 包管理器如何安装这些成分,以及用于开发应用的一个新指令: mean

组成 Mean 的各个成分有其自己的许可证以及源码库。

本文转自 OneAPM 官方博客

原文地址:http://www.javaworld.com/article/3066837/application-development/13-fabulous-frameworks-for-nodejs.html

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
17天前
|
开发框架 JavaScript 安全
js开发:请解释什么是Express框架,以及它在项目中的作用。
【4月更文挑战第24天】Express是Node.js的Web开发框架,简化路由管理,支持HTTP请求处理。它包含中间件系统用于日志、错误处理和静态文件服务,集成多种模板引擎如EJS、Jade、Pug。框架还提供安全中间件提升应用安全,并具有良好的可扩展性,便于项目功能扩展和开发效率提升。
25 3
|
3天前
|
JavaScript 前端开发
JS实现网页页面的框架(demo)
JS实现网页页面的框架(demo)
8 1
|
9天前
|
设计模式 前端开发 JavaScript
AngularJS是一款由Google收购的JavaScript结构框架
AngularJS是Google收购的JavaScript框架,用于构建动态Web应用,基于MVC模式,强调模块化和双向数据绑定。它简化了视图与模型的同步,通过语义化标签和依赖注入提升开发效率。适用于复杂单页面应用(SPA),但不适合DOM操作密集型或性能要求极高的场景。
17 0
|
10天前
|
JavaScript 前端开发 IDE
【JavaScript与TypeScript技术专栏】TypeScript在JavaScript库与框架开发中的作用
【4月更文挑战第30天】TypeScript,微软开发的JavaScript超集,以其强类型和面向对象特性,正成为提升Web项目质量和效率的关键工具,尤其在库和框架开发中。它通过类型系统减少运行时错误,提供内置文档,便于重构,增强IDE支持,以及支持模块化。流行框架如React、Angular已支持TypeScript,未来有望成为开发高质量库和框架的标准语言。随着社区增长,TypeScript将在Web开发领域扮演更重要角色。
|
11天前
|
开发框架 JavaScript 中间件
深入探索Node.js的Express框架:使用与中间件详解
【4月更文挑战第30天】本文深入探讨了Node.js的Express框架,介绍了其作为Web开发的强大工具,主要聚焦于基本使用和中间件。Express是基于Node.js的Web应用框架,用于构建高效的应用和API。文章详细讲解了如何安装Express,创建简单应用,以及中间件的工作原理和应用,包括中间件的顺序、错误处理和挂载位置。此外,还提到了使用第三方中间件扩展功能。理解Express基础和中间件对于开发高质量Web应用至关重要。
|
12天前
|
JavaScript 前端开发 开发者
前端框架(Vue.js&&vue-cli项目框架&&element-ui使用)
前端框架(Vue.js&&vue-cli项目框架&&element-ui使用)
|
29天前
|
开发框架 JavaScript 前端开发
【Node系列】Express 框架
Express.js 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,提供一系列强大的特性来帮助你创建各种 web 和移动设备应用。
36 2
|
29天前
|
JavaScript 前端开发 API
框架分析(3)-Vue.js
框架分析(3)-Vue.js
|
2月前
|
JavaScript 前端开发 API
分享一次使用某个JavaScript游戏框架开发项目的经历,遇到了哪些挑战以及如何解决的。
在Phaser框架下开发2D平台跳跃游戏"跳跃之旅"时,面临性能优化、碰撞检测与响应及图形动画等挑战。通过使用Phaser的性能分析工具、资源优化和内置物理引擎实现性能提升与精确碰撞。借助图形绘制API和动画系统,创造出精美流畅的游戏体验。此次项目提升了开发者的技术水平和对游戏开发的理解。
|
2月前
|
前端开发 JavaScript 机器人
详解《基于 javascript 的流程图编辑框架LogicFlow
详解《基于 javascript 的流程图编辑框架LogicFlow
119 0