

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

# 了解 Amazon Chime SDK 的 Web 应用程序架构组件
<a name="web-app-comp-arch-java"></a>

显示 Amazon Chime SDK Web 客户端应用程序的架构的图表。

![\[Amazon Chime SDK Web 应用程序架构示意图。\]](http://docs.aws.amazon.com/zh_cn/chime-sdk/latest/dg/images/architecture-2.png)


Web 应用程序通常由应用程序业务逻辑层提供支持的 HTML 和 CSS 用户界面层组成。你可以用纯HTML来构建 Web 应用程序 JavaScript，也可以使用 React 和 Angular 等用户界面框架。

Web 应用程序的业务逻辑层通过一组与 Amazon Chime SDK 客户端库 JavaScript 进行交互。 JavaScript APIs[https://aws.github.io/amazon-chime-sdk-js/classes/defaultmeetingsession.html](https://aws.github.io/amazon-chime-sdk-js/classes/defaultmeetingsession.html) 是 SDK 的根对象。在构建服务器应用程序时，您可以通过 [https://aws.github.io/amazon-chime-sdk-js/classes/meetingsessionconfiguration.html](https://aws.github.io/amazon-chime-sdk-js/classes/meetingsessionconfiguration.html) 使用会议和与会者信息对其进行初始化并加入会议。 DefaultMeetingSession 还公开了 [https://aws.github.io/amazon-chime-sdk-js/interfaces/audiovideofacade.html](https://aws.github.io/amazon-chime-sdk-js/interfaces/audiovideofacade.html)，它使业务逻辑层能够采取行动，并注册在会话底层状态发生变化时更新用户界面的回调。

适用于 Amazon Chime SDK 的客户端库 JavaScript 是开源的，具有一组可自定义的组件，您可以根据需要覆盖这些组件。默认实现允许您构建完整的统一通信应用程序，例如我们演示 MeetingV2 应用程序。适用的 Amazon Chime 软件开发工具包客户端库 JavaScript 依赖于另外两个库：
+  [Browser-Detect](https://www.npmjs.com/package/browser-detect) 用于识别浏览器类型和功能。
+  [ ProtoBufJs ](https://www.npmjs.com/package/protobufjs)对加入媒体会话所需的信号命令和响应进行编码和解码。

Amazon Chime SDK 还依赖浏览器或 Electron 应用程序为音频视频会话提供设备 APIs 管理和WebRTC实现。

Amazon Chime SDK 的源代码客户端库 JavaScript 已在 TypeScript，但你可以使用编译器将其编 TypeScript 译为。 JavaScript然后，您可以使用诸如 Webpack 等模块捆绑器将其捆绑。作为最佳实践，请 JavaScript 从 NPM 注册表中安装适用的 Amazon Chime SDK 客户端库，然后在 CommonJS 环境中使用它。 AWS 还提供了一个汇总脚本，用于将 Amazon Chime SDK 捆绑到缩小的 JS 文件中，以便您想将其[作为脚本](https://github.com/aws/amazon-chime-sdk-js/tree/master/demos/singlejs)标签直接包含在 HTML 中。