作者简介
[美]纳德·达比特(Nader Dabit),是Amazon Web Services的一名高级开发者及其拥护者,擅长跨平台和云服务的应用程序开发。他与客户端团队一起通力合作,改善了客户端SDK的开发体验。此前,Nader通过其公司React Native Training为很多大公司提供了使用React和React Native框架构建应用程序的培训服务,其中包括Amazon,、Microsoft、Salesforce和American Express等。
目录
目录
前言 .1
第1 章 无服务器计算时代的全栈开发 9
1.1 当前流行的无服务器理念 10
1.1.1 无服务器应用的特征 . 11
1.1.2 无服务器架构的优点 . 11
1.1.3 无服务器架构的不同实现 14
1.2 AWS 简介 17
1.2.1 关于AWS 17
1.2.2 AWS 上的全栈无服务器特性 17
1.2.3 Amplify CLI 17
1.3 AWS Amplify CLI 简介 20
1.3.1 安装和配置Amplify CLI 21
1.3.2 初始化你的第一个Amplify 项目 22
1.3.3 创建和部署你的第一个服务 25
1.3.4 删除资源 27
1.4 小结 28
第2 章 AWS Amplify 简介 29
2.1 创建和部署无服务器函数 30
2.1.1 创建React 应用程序并安装依赖项 31
2.1.2 使用Amplify CLI 创建新的无服务器函数 . 32
2.1.3 代码解析 33
2.1.4 创建路由/coins 33
2.2 添加API 34
2.2.1 创建新的API. 35
2.2.2 部署API 和Lambda 函数 35
2.3 与新API 进行交互 . 36
2.3.1 配置客户端应用程序与Amplify 协同工作. 36
2.3.2 Amplify 客户端API 类 . 36
2.3.3 在React 中调用API 并渲染数据 37
2.4 更新函数以调用另一个API 39
2.4.1 安装Axios 39
2.4.2 更新函数 40
2.4.3 更新客户端应用 41
2.5 小结 42
第 3 章 创建你的第一款应用 43
3.1 GraphQL 简介 43
3.1.1 GraphQL 是什么? . 43
3.1.2 GraphQL API 的构成 . 44
3.1.3 GraphQL 操作 45
3.2 创建GraphQL API 47
3.3 查看GraphQL API 并与之交互 49
3.4 构建React 应用程序 51
3.4.1 列出笔记(GraphQL 查询) . 51
3.4.2 创建笔记(GraphQL 变更) . 56
3.4.3 删除笔记(GraphQL 变更) . 59
3.4.4 更新笔记(GraphQL 变更) . 61
3.4.5 实时数据(GraphQL 订阅) . 63
3.5 小结 64
第4 章 身份验证简介 .66
4.1 Amazon Cognito 简介 67
4.1.1 Amazon Cognito 的工作原理 . 67
4.1.2 Amazon Cognito 与AWS Amplify 的集成 68
4.2 创建React 应用程序并添加Amplify . 69
客户端身份验证概述 . 70
4.3 构建应用程序 71
4.3.1 创建文件和文件夹结构 71
4.3.2 创建第一个组件 72
4.3.3 Public 组件 . 73
4.3.4 Nav 组件 73
4.3.5 Protected 组件 74
4.3.6 Router 组件 . 76
4.3.7 Profile 组件 . 77
4.3.8 UI 美化组件 79
4.3.9 配置应用程序 79
4.3.10 测试应用程序 . 79
4.4 小结 80
第5 章 自定义身份验证策略 81
5.1 创建protectedRoute 钩子 82
5.2 创建表单 83
5.2.1 登录组件(SignIn) 87
5.2.2 注册组件(SignUp) . 88
5.2.3 注册确认组件(ConfirmSignUp) . 89
5.2.4 ForgotPassword 组件 . 89
5.2.5 ForgotPasswordSubmit 组件 90
5.2.6 完善Form.js 91
5.2.7 updateForm 辅助函数 93
5.2.8 renderForm 函数 94
5.2.9 表单类型切换 95
5.2.10 更新Profile 组件 96
5.2.11 测试应用程序 . 98
5.3 小结 98
第6 章 无服务器函数进阶(一) 99
6.1 事件源和数据结构 100
6.1.1 API Gateway 事件 . 100
6.1.2 Amazon S3 事件 102
6.1.3 Amazon Cognito 事件 . 103
6.2 IAM 权限和触发器配置. 103
6.3 创建基础项目 . 104
6.4 添加后确认的Lambda 触发器 104
6.5 使用AWS Lambda 和Amazon S3 动态调整图片大小 108
6.5.1 添加自定义逻辑以调整图片大小 . 109
6.5.2 在React 应用程序中上传图片 110
6.6 小结 . 112
第7 章 无服务器函数进阶(二) 113
7.1 主要构建目标 . 114
7.2 准备工作 115
7.3 添加身份验证和组权限 . 115
7.4 添加数据库 117
7.5 添加API 118
7.6 创建前端 123
7.6.1 容器组件(Container) . 125
7.6.2 checkUser 函数 125
7.6.3 Nav 组件 126
7.6.4 Profile 组件 128
7.6.5 Router 组件 128
7.6.6 Admin 组件 129
7.6.7 Main 组件 . 131
7.7 测试应用程序 . 133
7.8 小结 . 133
第8 章 AWS AppSync 应用 135
8.1 GraphQL, AppSync API 和React Router 的构建技能 . 135
8.1.1 GraphQL 类型之间的关系 136
8.1.2 多种身份验证类型 138
8.1.3 身份验证 139
8.1.4 使用GSI 实现自定义数据访问模式 139
8.2 构建应用程序 . 140
8.3 创建Amplify 应用程序并添加功能 . 140
8.4 构建后端 140
8.4.1 身份验证 141
8.4.2 AppSync API 142
8.5 部署服务 144
8.6 构建前端 145
8.6.1 Container 145
8.6.2 Footer . 146
8.6.3 Nav 147
8.6.4 Admin . 147
8.6.5 Router . 148
8.6.6 Performance . 150
8.6.7 Home 152
8.7 小结 . 155
第9 章 使用Amplify DataStore 构建离线应用程序 . 156
9.1 关于Amplify DataStore . 157
9.1.1 Amplify DataStore 简介 . 157
9.1.2 Amplify DataStore 操作 . 158
9.1.3 DataStore 谓词 158
9.2 使用Amplify DataStore 构建离线和实时应用程序 . 159
9.2.1 创建基础项目 . 160
9.2.2 创建API 161
9.2.3 编写客户端代码 162
9.2.4 测试离线功能 . 165
9.2.5 测试实时功能 . 166
9.3 小结 . 166
第10 章 图像与存储 167
10.1 使用Amazone S3 167
10.1.1 创建基础项目 169
10.1.2 添加身份验证 170
10.1.3 创建API . 170
10.1.4 编写客户端代码 . 171
10.2 小结 178
第11 章 托管:将你的应用程序部署到支持
CI 和CD 的Amplify Console . 179
11.1 基于CLI 的部署 . 180
11.2 基于Git 的部署 183
11.2.1 创建GitHub 存储库 184
11.2.2 基于Git 的CI/CD 187
11.3 访问控制 . 187
11.4 自定义域 . 188
11.5 小结 189
内容摘要
云计算通常与后端开发和DevOps有关。但随着Serverless技术的兴起以及新一代服务和框架的出现,前端和移动开发人员也可以构建强大的应用程序,并且其中支持生产就绪的功能包括身份验证和授权,API网关,聊天机器人,增强现实场景等。本书向你展示了如何实现上述功能的步骤。
Amazon Web Services的倡导者Nader Dabit将指导你完成使用React、AWS、GraphQL和AWS Amplify构建全栈应用程序的过程。你将学习如何在客户端创建服务并将其集成到客户端应用程序中,同时还会学习常规的很好实践、部署策略、富媒体管理,以及整个过程中的持续集成和交付。
了解如何构建解决实际问题的无服务器应用程序。
了解这些技术的应用场景(以及局限)。
创建与DynamoDB和NoSQL数据库进行交互的GraphQL API。
学习身份验证的工作原理,并了解身份验证和授权之间的区别。
深入了解无服务器函数的工作原理及其重要性。
在AWS上构建全栈应用程序,并使用Amplify DataStore构建脱机应用程序。
主编推荐
“Nader出色的完成了无服务器技术开发的介绍工作,并带你进入真实的应用场景。在阅读了本书并实践大量示例项目之后,你肯定会具备使用Serverless技术,并比之前更快地构建更好的应用程序所需的技能。”
——Brice Wilson
培训师和技术顾问
精彩内容
云计算通常与后端开发和DevOps有关。但随着Serverless技术的兴起以及新一代服务和框架的出现,前端和移动开发人员也可以构建强大的应用程序,并且其中支持生产就绪的功能包括身份验证和授权,API网关,聊天机器人,增强现实场景等。本书向你展示了如何实现上述功能的步骤。
Amazon Web Services的倡导者Nader Dabit将指导你完成使用React、AWS、GraphQL和AWS Amplify构建全栈应用程序的过程。你将学习如何在客户端创建服务并将其集成到客户端应用程序中,同时还会学习常规的很好实践、部署策略、富媒体管理,以及整个过程中的持续集成和交付。
了解如何构建解决实际问题的无服务器应用程序。
了解这些技术的应用场景(以及局限)。
创建与DynamoDB和NoSQL数据库进行交互的GraphQL API。
学习身份验证的工作原理,并了解身份验证和授权之间的区别。
深入了解无服务器函数的工作原理及其重要性。
在AWS上构建全栈应用程序,并使用Amplify DataStore构建脱机应用程序。
媒体评论
本书介绍了Serverless技术,并带你进入真实的应用场景。
云计算通常与后端开发和DevOps有关。但随着Serverless技术的兴起以及新一代服务和框架的出现,前端和移动开发人员也可以构建强大的应用程序,并且其中支持生产就绪的功能包括身份验证和授权,API网关,聊天机器人,增强现实场景等。本书向你展示了如何实现上述功能的步骤。
Amazon Web Services的倡导者Nader Dabit将指导你完成使用React、AWS、GraphQL和AWS Amplify构建全栈应用程序的过程。你将学习如何在客户端创建服务并将其集成到客户端应用程序中,同时还会学习常规的最佳实践、部署策略、富媒体管理,以及整个过程中的持续集成和交付。
“Nader出色的完成了无服务器技术开发的介绍工作,并带你进入真实的应用场景。在阅读了本书并实践大量示例项目之后,你肯定会具备使用Serverless技术,并比之前更快地构建更好的应用程序所需的技能。”——Brice Wilson培训师和技术顾问
本书介绍了Serverless技术,并带你进入真实的应用场景。
以下为对购买帮助不大的评价