书籍介绍
据 ZeniTH 数据报告统计,2018 年中国智能手机数量突破 13 亿。这个数字预示着互联网世界的中心已经从 PC 端转移到了移动端。随着微信用户的增加,如今的 10 亿微信用户,更是小程序成长的背景。
随着支付宝与微信支付的普及,二维码也逐渐走进了大众的视野,从此打开了连接线上与线下的通道。「新零售」、「共享经济」这些新领域的不断发展,标志着「场景融合」开始成为各个行业发展的重心。小程序就是在这样的背景下诞生。并且在短短 17 个月里,涌现出 100 多万款小程序,150 多万名小程序开发者,5000 多家第三方平台,小程序的爆发远比我们想象得激烈。
面对小程序领域的技术发展之迅速,市场产品需求之旺盛,业务需求变化之频繁,后端服务如何快速响应变化,以满足前端系统所需的数据支持,是一个整体研发效率上的挑战。
基于 JavaScript 的小程序的前端与具备后端服务能力的 Node.js 有着一致化的语言生态。笔者希望以我们日常生活中所熟悉的外卖小程序为案例抽象,将 Node.js 后端开发所需要的知识点,通过需求拆解、迭代实现,来帮助小程序应用的前端开发者们走上全栈之路。当然,也同样希望能帮助其他后端语言背景的开发者们,了解感受 Node.js 作为后端解决方案的技术魅力。
API 接口化优先的 hapi
hapi 由沃尔玛实验室的移动团队创建的,该团队由 OAuth 的创建者 Eran Hammer 领导,hapi 被用来服务于「黑色星期五」这样的活动场景,这是美国日历上最繁忙的在线购物日之一。hapi 自身的性能可靠性,值得信赖。
笔者以为,国内基于 Express、Koa 的 Node.js 的教程书籍,已有相当的沉淀,而基于 hapi 的框架介绍却为数不多。但从 npm 的框架下载使用趋势图来看,hapi 的使用热度与 Koa 处在同一量级,并远超阿里的 egg。笔者希望借此小册,为 hapi 在后端服务框架的使用,做一份布道的贡献。
如下图所示,hapi 拥有最少的 issues。
本书目录
- 开篇: 小程序的 Node.js 全栈之路
- 基础篇 1:小程序需求分析与基础设计
- 基础篇 2:后端技术选型 —— Node.js & hapi
- 基础篇 3:欲善事先利器 —— Node.js 调试技巧
- 实战篇 1:项目工程初始化 —— 使用 hapi
- 实战篇 2:接口契约与入参校验 —— 使用 Swagger & Joi
- 实战篇 3:表结构设计、迁移与数据填充 —— 使用 Sequelize-cli
- 实战篇 4:小程序列表获取 —— 使用 Sequelize
- 实战篇 5:身份验证设计 —— 使用 JWT
- 实战篇 6:身份验证实现 —— 使用 hapi-auth-jwt实战篇 7:小程序登录授权 与 JWT 签发
- 实战篇 8:小程序订单创建 —— 使用事务
- 实战篇 9:小程序订单支付 —— 微信支付
- 实战篇 10:服务部署发布 —— 使用小程序开发者工具
- 拓展篇 1:系统监控与记录 —— 使用 Good 插件
- 拓展篇 2:系统稳定性测试 —— 使用 Lab & Code
- 尾声 :项目回顾,温故知新
小册内容结构
- 基础篇
带你经历从业务需求分析、技术选型到代码实际开发所必经的一个重要准备流程。架构设计布局与基础准备工作大多在这个阶段进行,磨刀不误砍柴工。 - 实战篇
带你从程序项目工程的初始化,循序渐进地掌握后端开发必备的专业知识,完成业务需求分析中预设的程序设计目标。并利用腾讯云的服务发布上线,到达用户。 - 拓展篇
拓展初学者容易忽视的重要知识和技能。不会像实战篇里那样带来所见即所得的强烈成就感,但在实际商业项目开发过程中,这些知识技能点扮演着重要角色。
你会学到什么?
- 基于 hapi 的 RESTful 接口设计规范
- hapi 配置优先的框架设计理念
- 多种 Node.js 开发调试姿势
- 接口契约文档化 Swagger
- 前后端分离的 JWT 认证
- Joi 接口入参校验
- Sequelize 对 MySQL 的数据库操作
- 数据库初始化迁移 migrate
- 数据库初始化填充 seed
- Node.js 生产部署流程
- 系统日志
- … (更多精彩)
适宜人群
- 有小程序的前端开发经验,想尝试全栈开发,快速搭建后端 API 服务的同学
- 掌握一定 JavaScript 语法基础,想通过一个精炼的实战案例,来整体地学习 Node.js API 服务化开发的同学
- 有 Node.js 服务化开发经验,但想了解 hapi 作为应用框架如何解决问题的同学
你应该具备什么
- 基本的 JavaScript 语言基础
- 基本的 MySQL 数据库概念
- 基本的 HTTP 数据接口知识
作者介绍
叶盛飞
前网易高级开发工程师,Adobe 中国认证讲师,PC 时代 Adobe Flash RIA 专家。
前全球最大 ActionScript 开发者社区 9ria 技术合伙人,前社交电商平台最吃货网创始人。
多年互联网早期项目创业者,擅长技术与业务的融合之道,持续实践高效敏捷可扩展的工程化解决方案。