对比
Web App Manifest 与 JSON
Web App Manifest 是基于 JSON 的 Web 应用配置格式,JSON 则是通用结构化数据表示法。Manifest 定义了 name、icons、start_url 等 Web 应用元数据。
应该选择哪种格式?
PWA 和可安装 Web 应用的元数据使用 Web App Manifest;通用配置和数据交换使用 JSON。
适用于 Web App Manifest
定义名称、图标、启动网址和显示模式
- 可安装 Web 应用的元数据
适用于 JSON
Web API、配置文件和数据交换
- 传递结构化数据
基本信息
| 项目 | Web App Manifest | JSON |
|---|---|---|
| 扩展名 | .webmanifest | .json |
| MIME 类型 | application/manifest+json | application/json |
| 常见用途 | 定义名称、图标、启动网址和显示模式 | Web API、配置文件和数据交换 |
| 打开方式 | 作为 JSON 编辑,从 HTML 链接,并在已发布网址上用浏览器开发工具检查。 | 可使用文本编辑器、IDE或支持JSON的查看器打开。 |
| 导出或转换 | 只改 JSON 扩展名不会启用应用功能;检查清单链接、MIME 类型、网址和资源。 | 可使用应用程序或转换工具将其转换为CSV等格式。 |
按用途选择
可安装 Web 应用的元数据
定义名称、图标、启动网址和显示模式
Web App Manifest传递结构化数据
Web API、配置文件和数据交换
JSON关键点 1
Manifest 定义 name、icons、start_url 等 Web 应用字段。
进一步了解差异关键点 2
JSON 不限定特定用途;仅更改扩展名不会让任意 JSON 自动成为有效 Manifest。
进一步了解差异进一步了解差异
要支持安装和 Web 应用展示,应在预期 URL 提供有效 Manifest,并确保浏览器可访问。其他设置或数据可用普通 JSON,不要赋予它 Manifest 语义。
- Web App Manifest 遵循专门的 Web 应用数据模型。
- JSON 提供语法,但不规定应用专属字段的含义。
- 把 JSON 文件改名为 Manifest 扩展名不能验证必需字段或浏览器行为。
常见问题
Web App Manifest 只是一个 JSON 文件吗?
它使用 JSON 语法,但必须符合 Manifest 定义的字段,并正确关联到 Web 应用。