AWS Amplify 是什么?

2024 年 8 月 28 日 | 阅读 9 分钟

如今,大多数企业都在向云端模式转型,并准备摆脱束缚。领跑云端 – 亚马逊网络服务 (AWS) 云平台在各种云采用服务中处于领先地位。

亚马逊不断增长的产品组合提供了超过 90 种服务和产品,以满足开发人员构建**快速、高效、无服务器**且安全 Web 和移动应用程序的需求。

AWS Amplify 是其中一项正在获得动力的服务,它极大地简化和加速了开发人员的任务。本文将深入探讨与 AWS Amplify 相关的一切——从它的工作原理到它的特性、集成、定价模式、优点和缺点。

AWS Amplify 完全指南

AWS Amplify 是一个全套平台,旨在协助 Web 和移动开发人员构建由 AWS 提供支持的全栈可扩展应用程序。该平台提供各种工具和服务,允许用户配置后端、连接应用程序、快速部署静态 Web 应用程序,并无缝管理 AWS 控制台之外的内容。

AWS Amplify 于 2017 年推出,是一个全套工具和服务包,专为帮助开发人员轻松构建和发布应用程序而设计。该工具最重要的优势在于,它允许您快速安全地集成从 API 到 AI 的各种功能。它还可能包括代码库、现成组件和内置 CLI。

AWS Amplify 发布的另一个原因是用户体验。用户体验是任何应用程序最重要的组成部分,应该得到妥善处理。AWS Amplify 的构建旨在集成 Web 和移动设备等多个平台的 UX。

它使用户能够灵活地选择最舒适的构建平台,尤其有利于前端开发。大多数 Amplify 用户还声称,它通过其可扩展性因素使全栈开发更加舒适。

现在,让我们看看 AWS Amplify 的工作原理。

AWS Amplify 如何工作?

您可以将 AWS Amplify 视为一个 JavaScript 库,可让您在云中构建和部署无服务器应用程序。它是一个全栈应用程序平台,结合了客户端和服务器端代码。简而言之,AWS Amplify 包含三个主要组件:

  • UI
  • CLI 工具链。

所有这些组件协同工作,管理应用程序开发生命周期。以下是对每个元素的简要介绍:

库:此组件允许您连接、集成和与 AWS 云服务交互。该库可以轻松地为您的应用程序添加安全的身份验证、文件存储、数据存储、无服务器 API、分析、推送通知、AR/VR 等功能。

UI:这些是围绕应用程序中的云工作流预先构建的 UI 组件,包括身份验证高阶组件。

CLI 工具链:最后一个组件可帮助您扩展应用程序。如果您需要添加更多云服务和功能,易于使用的 CLI 命令可以有效地更改您 AWS 管理的后端。

使用 AWS Amplify 的优点

  • 简单且由 UI 驱动的开发
    AWS Amplify 提供了一种简单、快速且现代化的 UI 驱动方法来构建移动和 Web 应用程序。开箱即用的 UI 组件提供了所有内容,因此您无需编写代码。CLI 流程和工作流的设计也很流畅,可加快应用程序开发速度。
  • 按使用量付费
    与其他许多付费 AWS 服务一样,AWS Amplify 的付款模式非常灵活且具有成本效益,因为您只需为使用的服务付费。
  • 后端支持
    AWS Amplify 通过提供内置的后端管理支持来提高应用程序性能。
  • 入门免费
    AWS Amplify 提供各种免费且令人印象深刻的套餐,具有许多优势且零成本。当您达到较高的技术要求阈值时,您需要设置付费套餐。
  • 基于 Web 的分析
    AWS Amplify 配备了一个基于 Web 的分析仪表板,对开发人员、设计师和项目经理非常有用。它不仅跟踪用户会话和属性,还提供应用内指标。分析始终是最新的,使团队能够管理和跟踪项目。

AWS Amplify 的局限性

  • 更高的学习曲线
    如果您是 AWS Amplify 新手,您可能会觉得您节省编写代码的时间将用于学习平台。有时,初学者很难在文档中找到正确的方法,而多种方法和版本有时会使导航变得困难。
  • 持续变化
    它是一个不断变化的平台,因此会不断推出新的更改和功能。这意味着 AWS Amplify 用户必须始终保持最新状态,并继续探索该平台。
  • 费用
    由于 AWS Amplify 是一项托管服务,最终用户对环境和安装的包的控制较少,这会影响您的网站,并且可能比后端能够处理的成本更高。最好处理托管服务的其他陷阱。
  • 流量分布
    在使用 AWS Amplify 时,您无法使用负载均衡器来分发流量。在某些情况下,这可能是一个主要缺点,例如处理流量高峰和延迟问题。

Amplify 如何与其他 AWS 服务集成?

AWS Amplify 为云连接工作流、CLI 工具链和代码库提供了用户界面元素。为了与其他 AWS 服务集成,这些库可以互换或独立部署,而无需调整现有应用程序的用户界面。简单来说,使用 Amplify,只需向现有前端应用程序添加几行代码即可实现。

使用 Amplify 组件组合实际的前端应用程序有几种方法,例如执行完整的后端重建,这可以使用 Amplify 工具链来重建资源。

AWS Amplify 的顶级功能

AWS Amplify 提供了构建各种应用程序(如 iOS、Android、React Native、Flutter、React 和 Vue)的能力,这些应用程序可以通过 AWS Amplify 框架轻松地与 AWS 服务通信。让我们看看 AWS Amplify 目前提供最受欢迎的 Web 托管功能。

  • 认证
    使用 AWS Amplify,可以轻松创建功能齐全的托管用户目录和入门流程,其中包含预先构建的注册、登录、忘记密码和多因素身份验证工作流。它还支持通过 Facebook、Google+ 等社交媒体工具登录,或使用 Amazon 登录。Amazon Cognito 还为移动和 Web 应用程序提供增强的访问控制。
  • 安全地存储和同步数据
    AWS Amplify 允许您使用 Amazon AppSync 和 Amazon S3 安全地在应用程序之间同步和存储数据。它还允许轻松进行离线同步。
  • 快速后端更新
    由于 AWS Amplify 的无服务器性质,对后端相关任务进行更改非常容易。这节省了之前用于配置和维护后端功能的时间。
  • 数据存储
    AWS 还提供了 Amplify 数据存储功能,提供了一个编程模型,无需编写额外的代码即可利用共享和分布式数据,适用于离线和在线用例。结果是分布式和跨用户数据,这与处理仅本地数据一样简单。
  • 部署和应用程序开发
    AWS Amplify 促进快速应用程序开发,并对持续部署非常有用。
  • 机器学习和人工智能需求
    AWS Amplify 在实现与机器学习和人工智能相关的需求方面非常有用,因为它由 Amazon SageMaker 等 Amazon 机器学习服务提供支持。您可以轻松创建文本翻译、文本到语音生成、解释和转录等用例。它还支持简化高级用例的编排,例如上传图像进行自动训练等。
  • 分析
    AWS Amplify 可用于实现自动跟踪,该跟踪可以跟踪用户会话和网页指标以进行分析。您可以检索实时数据流并分析数据以制定强有力的营销策略,以提高客户的采用率、参与度和保留率。此功能通过 Amazon Pinpoint 和 Amazon Kinesis 驱动到 Amplify 中。
  • 对话
    只需一行代码,AWS Amplify 即可让您构建交互式且引人入胜的聊天机器人,这些聊天机器人使用驱动 Amazon Alexa 的相同深度学习技术。当需要执行自动客户聊天支持、产品信息和推荐等任务时,可以通过聊天机器人创建出色的用户体验。
  • PubSub
    现在,您的应用程序实例和后端之间的消息传递可以通过 AWS Amplify 实现,它使您能够创建实时交互式体验。
  • 发送通知
    AWS Amplify 内置了营销和分析功能,可让您更有效地定位客户。现在可以通过文本、电子邮件和推送通知等多种渠道构建您的内容并进行沟通,并且它通过 Amazon Pinpoint 运行。
  • 存储
    现在,Amplify 可以安全地在您的设备或云中存储和管理用户生成的内容,包括照片和视频。它提供了一个简单的机制来管理三种类型的存储桶中的用户内容:公共、受保护或私有。

AWS Amplify 定价

AWS Amplify 采用以下定价结构:

  • 免费套餐:这是最早的付款方式之一,也可称为 12 个月的试用期。
  • 按量付费模式:在最初的 12 个月后,免费套餐将转换为按量付费模式,这意味着您开始为使用的服务付费。

这是按量付费模式中所有服务定价的明细:

该框架的组件和库是独立的。好处是只需为开发和部署您的应用程序所需的服务付费。例如,如果 S3 是 Amplify 的存储模型,您只需支付常规的 S3 费用,仅此而已。

对于应用程序开发、部署和托管,AWS Amplify 免费套餐非常方便,最多可使用 12 个月,但有一些限制。之后,每次构建需要支付 0.01 美元,每月存储每 GB 费用为 0.023 美元,而每 GB 使用量的费用则降至仅 0.15 美元。

AWS Amplify 包含各种开源库和拖放式 UI 组件,开发人员可以将其用作应用程序的构建块。它还拥有一个内置 CLI,您可以使用它来构建后端。此外,通过额外付费,AWS Amplify Console 为您的应用程序提供 Web 托管服务。

AWS Amplify 替代方案

以下是为您提供的 3 个最佳选择:

Back4app

Back4app 是您可以拥有的最令人兴奋和最好的免费移动和 Web 应用程序开发平台之一。此后端即服务解决方案提供了一系列令人印象深刻的内置功能,包括 REST 和 GraphQL API、电子邮件通知、地理查询、跨平台 SDK、实时数据库等等。

Backendless

Backendless 是一款领先的后端即服务平台,使应用程序开发过程超快速且更简单。它具有许多有用的功能,包括用户身份验证、高级安全功能、实时数据库重新分配、缓存、日志记录和简化的用户管理。

Firebase

Firebase 自 2014 年以来一直由 Google 支持,是领先的应用程序开发平台之一。Google Firebase 的功能范围包括从文件存储、API 到云托管、智能分析、实时数据库等。

AWS Amplify 包含什么?

AWS Amplify 包含各种开源库和拖放式 UI 组件,开发人员可以将其用作应用程序的构建块。它还拥有一个内置 CLI,您可以使用它来构建后端。此外,通过额外付费,AWS Amplify Console 为您的应用程序提供 Web 托管服务。

AWS Amplify 包含以下组件:

  • 数据存储
    • 将您的应用程序数据与云同步,管理您的分布式数据,并处理订阅和消息传递。
  • 分析
    • 跟踪用户会话并报告其行为。设置自定义属性并分析转化漏斗。
  • 推送通知
    • 轻松管理您的广告系列,并通过文本、电子邮件和推送等多种渠道向您的用户发送消息。
  • 认证
    • 访问 MFA、单点登录、忘记密码等即用型工作流。

常见问题

AWS Amplify 与什么兼容?

该框架支持 iOS、Android、Web 和 React Native 移动应用程序,以及 React、Ionic、Angular 和 vue.js 网页应用程序。

AWS Amplify 的费用是多少?

Amplify 框架的库、组件等是免费的!您只需要为用于构建/部署应用程序的服务付费;例如,如果您使用 S3 进行存储并添加 Amplify 存储模块,您将支付正常的 S3 费用。

对于构建/部署和 Web 托管,AWS Amplify 免费套餐适用于 12 个月(有一些限制)。之后,构建/部署费用为每分钟 0.01 美元,存储费用为每月每 GB 0.023 美元,服务费用为每 GB 0.15 美元。

谁应该使用 AWS Amplify?

AWS Amplify 非常适合那些希望从头开始构建自己的后端或其他组件的人。Amplify 组件本身可以轻松设置应用程序的构建块,而无需进行所有繁琐的工作。

哪些公司使用过 AWS Amplify?

AWS Amplify 的公开客户列表目前还不算很长。然而,他们有一些重量级客户,例如备受千禧一代喜爱的健身应用程序 Noom 和位置跟踪云服务 HyperTrack。


下一主题Amazon Cognito