Chrome 应用架构

警告

重要提示:Chrome 将在所有平台上取消对 Chrome 应用程序的支持。 Chrome 浏览器和 Chrome 网上应用店将继续支持扩展。阅读公告并了解有关迁移应用程序的更多信息。

Chrome 应用程序与用户的操作系统紧密集成。它们旨在在浏览器选项卡之外运行,在离线和连接不良的情况下稳健运行,并且具有比典型 Web 浏览环境中可用的功能强大得多的功能。应用容器、编程和安全模型支持这些 Chrome 应用要求。

# 应用容器模型

应用程序容器描述了 Chrome 应用程序的视觉外观和加载行为。Chrome Apps 看起来与传统的网络应用程序不同,因为应用程序容器不显示任何传统的网页 UI 控件;它只包含一个空白的矩形区域。这允许应用程序与系统上的“本机”应用程序混合,并防止用户通过手动更改 URL 来“弄乱”应用程序逻辑。

Chrome 应用程序的加载方式与网络应用程序不同。两者都加载相同类型的内容:带有 CSS 和 JavaScript 的 HTML 文档;但是,Chrome 应用程序加载在应用程序容器中,而不是在浏览器选项卡中。此外,应用容器必须从本地源加载 Chrome 应用的主文档。这迫使所有 Chrome 应用程序在离线时至少具有最低限度的功能,并提供了一个实施更严格安全措施的地方。

38

# 编程模型

编程模型描述了 Chrome 应用程序的生命周期和窗口行为。与原生应用程序类似,这种编程模型的目标是让用户及其系统完全控制应用程序的生命周期。Chrome 应用程序生命周期应该独立于浏览器窗口行为或网络连接。

“事件页面”通过响应用户手势和系统事件来管理 Chrome 应用程序生命周期。这个页面是不可见的,只存在于后台,可以被系统运行时自动关闭。它控制窗口的打开和关闭方式以及应用程序的启动或终止时间。Chrome 应用程序只能有一个“事件页面”。

# 应用生命周期概览

有关如何使用编程模型的详细说明,请参阅管理应用程序生命周期。以下是 Chrome 应用程序生命周期的简要摘要,可帮助您入门:

阶段 概括
安装 用户选择安装应用程序并明确接受权限
启动 事件页面已加载,“启动”事件触发,应用程序页面在窗口中打开。您可以创建应用程序所需的窗口、它们的外观以及它们与事件页面和其他窗口的通信方式。
终止 用户可以随时终止应用程序,应用程序可以快速恢复到以前的状态。存储数据可防止数据丢失。
更新 应用程序可以随时更新;但是,Chrome 应用程序运行的代码在启动/终止周期内不能更改。
卸载 用户可以主动卸载应用程序。卸载时,不会留下任何执行代码或私人数据。

# 安全模型

Chrome Apps 安全模型通过确保以安全可靠的方式管理用户的信息来保护用户。遵守 CSP包括有关如何遵守内容安全策略的详细信息。此策略可阻止危险脚本,从而减少跨站点脚本错误并保护用户免受中间人攻击。

在本地加载 Chrome 应用主页提供了一个比网络更严格的安全措施。与 Chrome 扩展程序一样,用户必须明确同意在安装时信任 Chrome 应用程序;他们授予应用程序访问和使用其数据的权限。您的应用程序使用的每个 API 都有自己的权限。Chrome Apps 安全模型还提供了在每个窗口的基础上设置权限分离的能力。这允许您最大限度地减少应用程序中可以访问危险 API 的代码,同时仍然可以使用它们。

Chrome 应用程序重用 Chrome 扩展进程隔离,并通过隔离存储和外部内容更进一步。每个应用程序都有自己的私人存储区域,并且无法访问其他应用程序的存储空间或您在浏览器中使用的网站的个人数据(例如 cookie)。所有外部进程都与应用程序隔离。由于 iframe 与周围页面在同一进程中运行,因此它们只能用于加载其他应用程序页面。您可以使用object标签嵌入外部内容;此内容在与应用程序不同的进程中运行。

By.一粒技术服务

results matching ""

    No results matching ""