内容推荐 云计算通常与后端开发和DevOps有关。但随着Serverless技术的兴起以及新一代服务和框架的出现,前端和移动开发人员也可以构建强大的应用程序,并且其中支持生产就绪的功能包括身份验证和授权,API网关,聊天机器人,增强现实场景等。本书向你展示了如何实现上述功能的步骤。 Amazon Web Services的倡导者Nader Dabit将指导你完成使用React、AWS、GraphQL和AWS Amplify构建全栈应用程序的过程。你将学习如何在客户端创建服务并将其集成到客户端应用程序中,同时还会学习常规的最佳实践、部署策略、富媒体管理,以及整个过程中的持续集成和交付。 了解如何构建解决实际问题的无服务器应用程序。 了解这些技术的应用场景(以及局限)。 创建与DynamoDB和NoSQL数据库进行交互的GraphQL API。 学习身份验证的工作原理,并了解身份验证和授权之间的区别。 深入了解无服务器函数的工作原理及其重要性。 在AWS上构建全栈应用程序,并使用Amplify DataStore构建脱机应用程序。 作者简介 纳德·达比特(Nader Dabit)是Amazon Web Services的一名高级开发者及其拥护者,擅长跨平台和云服务的应用程序开发。他与客户端团队一起通力合作,改善了客户端SDK的开发体验。此前,Nader通过其公司React Native Training为很多大公司提供了使用React和React Native框架构建应用程序的培训服务,其中包括Amazon,、Microsoft、Salesforce和American Express等。 目录 前言 第1章 无服务器计算时代的全栈开发 1.1 当前流行的无服务器理念 1.1.1 无服务器应用的特征 1.1.2 无服务器架构的优点 1.1.3 无服务器架构的不同实现 1.2 AWS简介 1.2.1 关于AWS 1.2.2 AWS上的全栈无服务器特性 1.2.3 Amplify CLI 1.3 AWS Amplify CLI简介 1.3.1 安装和配置Amplify CLI 1.3.2 初始化你的第一个Amplify项目 1.3.3 创建和部署你的第一个服务 1.3.4 删除资源 1.4 小结 第2章 AWS Amplify简介 2.1 创建和部署无服务器函数 2.1.1 创建React应用程序并安装依赖项 2.1.2 使用Amplify CLI创建新的无服务器函数 2.1.3 代码解析 2.1.4 创建路由/coins 2.2 添加API 2.2.1 创建新的API 2.2.2 部署API和Lambda函数 2.3 与新API进行交互 2.3.1 配置客户端应用程序与Amplify协同工作 2.3.2 Amplify客户端API类 2.3.3 在React中调用API并渲染数据 2.4 更新函数以调用另一个API 2.4.1 安装Axios 2.4.2 更新函数 2.4.3 更新客户端应用 2.5 小结 第3章 创建你的第一款应用 3.1 GraphQL简介 3.1.1 GraphQL是什么 3.1.2 GraphQL API的构成 3.1.3 GraphQL 操作 3.2 创建GraphQL API 3.3 查看GraphQL API并与之交互 3.4 构建React应用程序 3.4.1 列出笔记(GraphQL查询) 3.4.2 创建笔记(GraphQL变更) 3.4.3 删除笔记(GraphQL变更) 3.4.4 更新笔记(GraphQL变更) 3.4.5 实时数据(GraphQL订阅) 3.5 小结 第4章 身份验证简介 4.1 Amazon Cognito简介 4.1.1 Amazon Cognito的工作原理 4.1.2 Amazon Cognito与AWS Amplify的集成 4.2 创建React应用程序并添加Amplify 客户端身份验证概述 4.3 构建应用程序 4.3.1 创建文件和文件夹结构 4.3.2 创建第一个组件 4.3.3 Public组件 4.3.4 Nav组件 4.3.5 Protected组件 4.3.6 Router组件 4.3.7 Profile组件 4.3.8 UI美化组件 4.3.9 配置应用程序 4.3.10 测试应用程序 4.4 小结 第5章 自定义身份验证策略 5.1 创建protectedRoute钩子 5.2 创建表单 5.2.1 登录组件(SignIn) 5.2.2 注册组件(SignUp) 5.2.3 注册确认组件(ConfirmSignUp) 5.2.4 ForgotPassword组件 5.2.5 ForgotPasswordSubmit组件 5.2.6 完善Form.js 5.2.7 updateForm辅助函数 5.2.8 renderForm函数 5.2.9 表单类型切换 5.2.10 更新Profile组件 5.2.11 测试应用程序 5.3 小结 第6章 无服务器函数进阶(一) 6.1 事件源和数据结构 6.1.1 API Gateway事件 6.1.2 Amazon S3事件 6.1.3 Amazon Cognito事件 6.2 IAM权限和触发器配置 6.3 创建基础项目 6.4 添加后确认的Lambda触发器 6.5 使用AWS Lambda和Amazon S3动态调整图片大小 6.5.1 添加自定义逻辑以调整图片大小 6.5.2 在React应用程序中上传图片 6.6 小结 第7章 无服务器函数进阶(二) 7.1 主要构建目标 7.2 准备工作 7.3 添加身份验证和组权限 7.4 添加数据库 7.5 添加API 7.6 创建前端 7.6.1 容器组件(Container) 7.6.2 checkUser函数 7.6.3 Nav组件 7.6.4 Profile组件 7.6.5 Router组件 7.6.6 Admin组件 7.6.7 Main组件 7.7 测试应用程序 7.8 小结 第8章 AWSAppSync应用 8.1 GraphQL,AppSync API和React Router的构建技能 8.1.1 GraphQL类型之间的关系 8.1.2 多种身份验证类型 8.1.3 身份验证 8.1.4 使用GSI实现自定义数据访问模式 8.2 构建应用程序 8.3 创建Amplify应用程序并添加功能 8.4 构建后端 8.4.1 身份验证 8.4.2 AppSync API 8.5 部署服务 8.6 构建前端 8.6.1 Container 8.6.2 Footer 8.6.3 Nav 8.6.4 Admin 8.6.5 Router 8.6.6 Performance 8.6.7 Home 8.7 小结 第9章 使用Amplify DataStore构建离线应用程序 9.1 关于Amplify DataStore 9.1.1 Amplify DataStore简介 9.1.2 Amplify DataStore操作 9.1.3 DataStore谓词 9.2 使用Amplify DataStore构建离线和实时应用程序 9.2.1 创建基础项目 9.2.2 创建API 9.2.3 编写客户端代码 9.2.4 测试离线功能 9.2.5 测试实时功能 9.3 小结 第10章 图像与存储 10.1 使用Amazone S3 10.1.1 创建基础项目 10.1.2 添加身份验证 10.1.3 创建API 10.1.4 编写客户端代码 10.2 |