

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# AWS 应用工作室的工作原理
<a name="how-it-works"></a>

使用 A AWS pp Studio 构建应用程序时，需要了解几个关键概念。本主题涵盖以下概念或资源的基础知识：
+ 使用*连接器*连接到其他服务，以便在您的应用程序中使用它们的资源或 API 调用。例如，您可以使用连接器来存储和访问数据，或者从您的应用程序发送通知。
+ 使用*实体*配置应用程序的数据模型，该模型将您的应用程序与外部数据源连接起来。
+ 使用*页面*和*组件*来构建应用程序的用户界面 (UI)。
+ 使用*自动化*和*操作*来实现应用程序的逻辑或行为。
+ App Studio 中的应用程序开发生命周期：构建、测试和发布。

有关 App Studio 概念的更多信息，请参阅[AWS 应用工作室的概念](concepts.md)。

下图是 App Studio 及其资源的组织方式的简单示意图。

![显示了 App Studio 应用程序中资源的组织结构的简单示意图。](http://docs.aws.amazon.com/zh_cn/appstudio/latest/userguide/images/app-studio-diagram.png)


在 App Studio 的应用程序中，页面、自动化和实体都相互交互。您可以使用连接器将这些资源连接到外部服务，例如数据、存储或通知提供程序。要成功构建应用程序，了解所有这些概念和资源是如何相互作用的，这一点至关重要。

## 将您的应用程序连接到其他服务
<a name="how-it-works-connectors"></a>

使用 App Studio 构建应用程序的最大好处之一是能够轻松地将您的应用程序与其他服务集成。在 App Studio 中，您可以使用特定于该服务的连接器以及您要在应用程序中使用的资源或 API 调用连接到其他服务。

您可以在 App Studio 实例级别创建连接器，而不是在单个应用程序中创建连接器。创建连接器后，您可以在应用程序的各个部分中使用它们，具体取决于所连接的服务和应用程序。

以下是使用连接器连接到其他服务的应用程序中的功能示例：
+ 几乎所有应用程序中都使用的最常见用例是通过连接到 Amazon Redshift、Amazon DynamoDB 或 Amazon Aurora 等 AWS 数据服务来存储和访问应用程序中使用的数据。
+ 允许上传和查看图像（例如收据）的应用程序可以使用 Amazon S3 来存储和访问图像文件。
+ 文本摘要器应用程序可以向 Amazon Bedrock 发送文本输入并显示返回的摘要。

**注意**  
您必须在 App Studio 中拥有管理员角色才能创建连接器。创建连接器时，必须包含正确的凭据以及有关要使用的资源或 API 调用的信息。

## 配置应用程序的数据模型
<a name="how-it-works-data-entities"></a>

您的应用程序的数据是为应用程序提供动力的信息。在 App Studio 中，您可以创建和使用代表您存储和使用的不同类型的数据的*实体*。例如，在客户会议的跟踪应用程序中，您可能有三个实体分别代表客户会议、议程和与会者。

实体包含描述所存储数据的类型（例如整数或字符串）的字段。尽管您使用实体来定义数据模型，但必须将您的实体连接到 Amazon Redshift 或 Amazon DynamoDB 等外部数据存储服务才能存储数据。您可以将实体视为 App Studio 应用程序和外部服务中数据之间的中介。

您可以使用数据操作通过组件和自动化与应用程序中的数据进行交互。最常用的两个数据操作是`getAll`操作和`getByID`操作。例如，您的应用程序可以使用`getAll`数据操作在表格中填充数据，使用`getByID`操作在详细信息组件中填充有关特定数据条目的更多信息。

您还可以向实体中添加示例数据，以便更轻松地测试应用程序，而无需调用外部服务。

## 构建应用程序的用户界面
<a name="how-it-works-pages-components"></a>

在 App Studio 中，您可以使用*页面*和*组件*来构建应用程序的用户界面。页面是应用程序的各个屏幕，也是组件的容器。组件是应用程序用户界面的构建块。有许多类型的组件，例如表格、表单、图像查看器和按钮。

下图显示了应用程序工作室的**页面**选项卡，您可以在其中添加或配置应用程序中的页面和组件。以下关键区域被突出显示并编号：

1. 左侧的 “**页面**” 面板。您可以在此处管理页面、应用程序标题和导航设置。您可以查看应用程序的所有页面和组件。

1. **画布**，用于显示当前页面的组件。您可以在画布中选择组件来配置其属性。

1. 右侧的 “**组件**” 或 “**属性**” 面板。如果未选择任何内容，则会显示 “组件” 面板，其中显示了可以添加到页面的组件列表。如果选择页面或组件，则会显示 “属性” 面板，您可以在其中配置页面或组件。

1. 底部的 “**错误**和**警告**” 面板。这些面板显示应用程序中的任何错误或警告，这些错误或警告最常见的是配置问题。您可以选择面板将其展开并查看消息。

![编辑应用程序时显示的应用程序工作室页面选项卡的视图。](http://docs.aws.amazon.com/zh_cn/appstudio/latest/userguide/images/pages-components.png)


例如，用户必须输入信息的应用程序可能包含以下页面和组件：
+ 一种输入页面，包括用户用来填写和提交信息的表单组件。
+ 包含表格组件的列表视图页面，其中包含有关每个输入的信息。
+ 详细视图页面，其中包含详细信息组件，其中包含有关每个输入的更多信息。

组件可以包含静态信息或数据，例如带有已定义字段的表单。它们还可以使用自动化功能来包含动态信息，例如图像查看器，它可以从 Amazon S3 存储桶中检索图像并将其显示给用户。

了解*页面参数*的概念很重要。您可以使用页面参数将信息从一个页面发送到另一个页面。页面参数的一个常见用例是搜索和筛选，其中一个页面的搜索词被发送到表格或项目列表中，以便在另一个页面中进行筛选。另一个用例是查看项目详细信息，其中项目标识符被发送到详细的查看者页面。

## 实现应用程序的逻辑或行为
<a name="how-it-works-automations-actions"></a>

您可以将应用程序的逻辑或行为视为应用程序的功能。您可以定义当用户选择按钮、提交信息、导航到新页面或以其他方式进行交互时会发生什么。在 App Studio 中，您可以使用*自动化和*操作*来定义应用程序的逻辑。*自动化是操作的容器，操作是自动化功能的基石。

下图显示了 Applications Studio 的 “**自动化**” 选项卡，您可以在其中添加或配置应用程序中的自动化及其操作。以下关键区域被突出显示并编号：
+ 左侧的 “**自动化**” 面板。这是您管理自动化的地方。您可以查看应用程序的所有自动化和操作。
+ **画布**，显示当前的自动化。它显示配置的自动化参数（将在本节后面介绍）和操作。您可以在画布中选择组件来配置其属性。
+ 右侧的 “**动作**” 和 “**属性**” 面板。如果未选择任何内容，则会显示 “动作” 面板。它会显示可添加到自动化中的操作列表。如果选择自动化，则可以查看和配置其属性，例如自动化的输入和输出。如果选择某项操作，则可以查看和配置该动作的属性。
+ 底部的 “**错误**和**警告**” 面板。此面板显示应用程序中的任何错误或警告（最常见的是配置问题）。您可以选择面板将其展开并查看消息。

![Applications Studio 的 “自动化” 选项卡，您可以在编辑应用程序时创建、配置和管理自动化和操作。](http://docs.aws.amazon.com/zh_cn/appstudio/latest/userguide/images/automations-actions.png)


自动化可以很简单（例如添加数字并返回结果），也可以更强大（例如将输入发送到其他服务并返回结果）。自动化的主要组成部分如下：
+ *触发器*，它定义何时运行自动化。例如，当用户在用户界面中按下按钮时。
+ *自动化输入*，用于向自动化发送信息。您可以使用自动化*参数定义自动化*输入。例如，如果您想使用 Amazon Bedrock 向用户返回文本摘要，则可以将要摘要的文本配置为自动化参数。
+ *操作*，它们是自动化功能的组成部分。您可以将每个操作视为自动化过程中的一个步骤。操作可以调用 APIs、调用自定义 JavaScript、创建数据记录和执行其他函数。您也可以将操作分组为循环或条件，以进一步自定义功能。您也可以通过操作调用其他自动化。
+ *自动化输出*，可以在组件甚至其他自动化中使用。例如，自动化输出可以是显示在文本组件中的文本、要在图像查看器组件中显示的图像或其他自动化的输入。

## 应用程序的开发生命周期
<a name="how-it-works-development-lifecycle"></a>

应用程序的开发生命周期包括以下阶段：构建、测试和发布。之所以称之为循环，是因为在创建和迭代应用程序时，你很可能会在这些阶段之间进行迭代。

下图显示了 App Studio 中应用程序开发生命周期的简化时间表：

![应用程序开发生命周期的时间表，包括构建、预览、测试、生产和共享。](http://docs.aws.amazon.com/zh_cn/appstudio/latest/userguide/images/app-studio-development-lifecycle.png)


App Studio 提供各种工具来支持应用程序的生命周期。这些工具包括以下三个不同的环境，如上图所示：
+ 预览环境，您可以在其中预览应用程序以查看最终用户的外观，并测试特定功能。使用预览环境可以快速测试和迭代应用程序，而无需发布应用程序。预览环境中的应用程序不与外部服务通信或传输数据。这意味着您无法在预览环境中测试依赖外部服务的交互和功能。
+ 测试环境，您可以在其中测试应用程序的连接以及与外部服务的交互。在这里，您还可以通过将发布到测试环境的版本共享给一组测试人员来进行最终用户测试。
+ 生产环境，您可以在其中对新应用程序进行最终测试，然后再与最终用户共享。共享应用程序后，发布到生产环境的应用程序版本就是最终用户将要查看和使用的版本。

## 了解详情
<a name="how-it-works-learn-more"></a>

既然您已经了解了 App Studio 中应用程序开发的基本原理，您可以开始构建自己的应用程序，也可以更深入地了解有关概念和资源的更多信息。

要开始构建，我们建议您尝试以下入门教程之一：
+ 请关注[教程：使用 AI 生成应用程序](getting-started-tutorial-ai.md)以了解如何使用 AI 构建器助手抢先开发应用程序。
+ 跟随学习[教程：从一个空的应用程序开始构建](getting-started-tutorial-empty.md)如何从头开始构建应用程序，同时学习基础知识。

要了解有关本主题中提及的资源或概念的更多信息，请参阅以下主题：
+ [使用连接器将 App Studio 连接到其他服务](connectors.md)
+ [实体和数据操作：配置应用程序的数据模型](data.md)
+ [页面和组件：构建应用程序的用户界面](pages-components-ux.md)
+ [自动化和操作：定义应用程序的业务逻辑](automations.md)
+ [预览、发布和共享应用程序](applications-preview-publish-share.md)