概述
Serverless 架构是一种基于云计算的全新的服务方法,它让开发者不再需要考虑底层的运维问题,而是专注于应用的逻辑开发,并且有着高可扩展性,低成本,随用随付的优势。在移动端应用的实现中,Serverless 更是可以将后台部署变得极度简单。
本文将详细介绍 Serverless 移动端应用的实现全流程,包括概念解析、构建前后端架构、与移动端 App 的对接和部署等。同时,也会提供示例代码作为参考。
Serverless 移动端应用架构
在移动端应用中,Serverless 应用程序的后端后台由云服务提供商管理,你只需要集中精力开发前端界面和逻辑就可以了。
经过初步探究和实践,我们可以发现 Serverless 移动端应用包含以下几个部分:
视图层
视图层是移动端应用展示给用户的前端页面,可以由 React Native、Vue 或者 Swift 等技术实现。
后台逻辑层
后台逻辑层通常是一个云函数(Function)或者 Web 服务器(Web API),并且需要保证高度的可用性和性能。在 Serverless 应用中,你可以使用 AWS Lambda、Azure Functions 或者和钉钉 Serverless 等服务商的云函数来实现后台逻辑。如果需要搭建自己的 Web 服务器,可以选择使用 Flask、Django 等开源框架。
云数据库
云数据库用于存储后台逻辑所需要的数据,你可以使用 AWS DynamoDB、Azure CosmosDB 等服务提供商的数据库。
CDN
CDN 用于提高移动端应用的访问速度和稳定性,你可以选择使用阿里云、腾讯云等服务商提供的 CDN 服务。
Serverless 移动端应用实现全流程
下面将以使用 AWS Lambda 和 DynamoDB 实现留言板的想法为例,剖析 Serverless 移动端应用实现全流程。
1. 创建 AWS Lambda 函数
使用 AWS Lambda 服务,可以非常方便地创建和管理自己的云函数。在 AWS Lambda 页面,点击创建函数,选择使用自定义函数,然后在选择运行时界面中选择使用 Node.js 8.10,单击“创建函数”即可创建一个新的 Lambda 函数。
2. 编写 Lambda 函数处理器
在创建完 Lambda 函数后,需要添加 Lambda 函数代码。在工作区中,找到“代码编辑器”部分,打开“index.js”文件。
以下是示例代码:
-- -------------------- ---- ------- --- --- - ------------------- --- ------ - --- ------------------------------ --------------- - ------- -------- --------- -- - --- ---- - --- --------------------- ---------- --- -- --- ---- - ------ --- ------ - - ------------ --------------- ------- - ---------- ------------- ------------- ---- - -- -------- -------- ---- ------------------ ------------- ----- - -- ----- - ------------- ------ - ---- - -------------- ------ - --- --
此代码会将用户在界面上输入的内容存储到 DynamoDB 数据库中。
3. 创建 AWS API 网关
使用 Amazon API 网关可轻松构建,发布和管理服务器子系统上的 API。在 AWS 控制台 的 API Gateway 部分,创建新的 API。API 可以使用 REST 规范,并对 AWS Lambda 函数进行组成。此外,还可以定义 API 的安全措施,例如使用 API 密钥或 AWS Cognito。
4. 部署 API
创建完 API 后,需要将其部署。在部署之前,你需要创建一个“AWS Lambda”集成。创建完集成后,即可执行定义的 Lambda 函数。接下来,选择“部署 API”选项,并在弹出的窗口中设置阶段和环境。
5. 创建 DynamoDB 数据表
需要使用 AWS DynamoDB 存储和管理用户提供的留言信息。打开 DynamoDB 控制台,并创建一张表,表名为“messageBoard”,设定主键为“createTime”。
6. 移动端应用的开发
在移动端应用的开发中,需要使用 RESTful API 框架(如 Axios、Fetch 等),实现调用后台逻辑层的 API。以下是范例代码:
-- -------------------- ---- ------- ------ ----- ---- -------- ----- ------------ - ----------------- ------ ------- ----- ----------- - ------ -------------------- - ------ --- ----------------- ------- -- - ---------------------------------- - -------- ------- ------------------ -- - ----------------------- ---------------- -- - -------------- --- --- - -
此代码将用户界面上输入的内容发送到后台逻辑层,并将返回值返回到用户界面。
结论
Serverless 移动端应用,让移动端应用的创建和部署变得极为简单,可以使开发者更加专注于移动应用的开发。通过 AWS Lambda 和 DynamoDB 的使用,我们完成了留言板的创建,而移动端的开发也可以轻松应用这些流程,实现自己的应用程序。
参考文献
附示例代码
(完)
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6720b6a82e7021665e03a22a