本站包含联盟链接 — 通过这些链接注册我们可能会获得佣金。详情

如何使用 Web App Manifest 构建和配置 Progressive Web App

如何使用 Web App Manifest 构建和配置 Progressive Web App

Progressive Web App(PWA)是一种将本地应用般的体验带到网站的技术。用户可以在主屏幕上安装您的网站并在离线状态下使用它,完全无需应用商店。本指南介绍如何使用 Web App Manifest 构建 PWA,Web App Manifest 是一个 JSON 文件,可告知浏览器有关您的网络应用的基本信息。

什么是 Progressive Web App 以及为什么它很重要

Progressive Web App 结合了 Service Workers 和 Web App Manifest 等网络技术,提供本地应用般的体验。PWA 可以安装在主屏幕上、离线运行、快速加载并发送推送通知——所有这些都无需应用商店发布。它们对于触及预算受限的设备用户和网络不稳定地区的用户特别有价值。

理解 Web App Manifest 文件

Web App Manifest 是一个 JSON 文件,包含有关您的网络应用的元数据——名称、描述、图标、主题颜色和显示模式。浏览器读取此文件以正确安装您的 PWA。将 manifest.json 放在网站根目录中,并在每个 HTML 页面的 中使用 链接它。这个单一文件可告知浏览器安装应用时显示应用所需的所有信息。

基本字段包括:name(完整应用名称)、short_name(主屏幕图标标签的简称,≤12 个字符)、icons(包含尺寸和 MIME 类型的数组)、start_url(入口页面)、display("standalone" 表示全屏或 "browser" 表示标签页)、background_color(启动屏幕颜色)和 theme_color(系统 UI 颜色)。short_name 必须简洁,因为它显示在主屏幕上的图标下方。现代浏览器处理大多数字段,但较旧的浏览器可能需要其他属性。

应用图标:所需的尺寸和格式

PWA 需要多个图标尺寸才能在各种设备上正确显示。最小尺寸:192×192 px(主屏幕)和 512×512 px(安装启动屏幕)。144×144 或 256×256 px 等其他尺寸有助于在特定设备上显示。使用具有透明背景的 PNG 或 WebP 格式,以便操作系统可以应用其自己的背景颜色。在 manifest 的 icons 数组中包含每个图标,同时包含尺寸和用途属性(例如,"any" 用于常规用途,或 "maskable" 用于 Android 上的自适应图标)。

Service Workers 详解(离线缓存基础)

Service Worker 是在后台运行的 JavaScript 文件,即使关闭网页也会运行。其主要作用是缓存资源(HTML、CSS、图像、JavaScript),使 PWA 能够离线工作。Service Workers 还处理推送通知和后台同步。您不需要复杂的 Service Worker——缓存您的主页和关键静态资源是一个良好的开始。通过在 HTML 中使用调用 navigator.serviceWorker.register() 的简单 JavaScript 代码段在其中注册它。浏览器自动管理其生命周期。

推荐AsiaGB.com — 我们推荐的虚拟主机 & VPS服务。服务器位于泰国和新加坡,SSD存储,DirectAdmin控制面板,24小时泰语支持,99%在线率保证。

总部位于泰国,非常适合泰国网站和企业。

访问 AsiaGB →

可安装性标准:使"添加到主屏幕"出现

当 PWA 满足特定条件时,浏览器会显示安装提示:有效的 manifest.json 且包含所需字段、全站使用 HTTPS、已注册的 Service Worker、至少 192×192 px 的图标以及足够的用户参与度(通常在网站上停留 30+ 秒)。Chrome、Edge 和 Samsung Internet 完全支持 PWA 安装提示。iOS Safari 有限制,但允许主屏幕快捷方式。满足所有条件后,许多浏览器会自动显示安装提示,尽管您也可以使用 beforeinstallprompt 事件触发自定义提示。

使用 Lighthouse 测试 PWA

Google Lighthouse 是内置于 Chrome DevTools 的免费审核工具,可验证 PWA 的合规性。打开 DevTools,转到 Lighthouse 选项卡,选择"PWA",然后单击"分析页面加载"。Lighthouse 可在性能、无障碍、最佳实践、SEO 和 PWA 合规性方面为应用评分。报告会指出缺少的图标、未注册的 Service Workers、无效的 manifest 和其他问题。在开发过程中定期运行审核,以便尽早发现问题。修复 Lighthouse 确定的问题通常会改进整体网络性能和用户体验。

PWA vs. 本地应用:优缺点以及何时使用每种

PWA 和本地应用各有优势。PWA 可提供无需应用商店发布的即时访问、自动更新和更低的存储需求。本地应用提供更深入的操作系统集成,如 GPS、麦克风和硬件传感器。PWA 适合内容驱动的应用(新闻、博客、生产力工具),而本地应用在图形密集型游戏和需要直接硬件访问的应用中表现出色。许多公司先推出 PWA 以广泛触及用户,然后在需要专业功能时开发本地应用。

常见的 Manifest 和 PWA 设置错误

常见问题包括:HTML 中缺少 、图标尺寸或格式不正确、manifest.json 中的 JSON 语法错误、Service Worker 注册失败、非 HTTPS 网站(PWA 需要加密)。另一个常见错误是忘记设置 start_url,这可能导致应用打开到错误的页面。background_color 和图标之间颜色不匹配可能导致启动屏幕显示异常。调试提示:打开 Chrome DevTools,转到"应用程序"选项卡,选择您的网站,并检查 Manifest 部分以立即发现问题。

常见问题

调用 PWA 需要 Service Worker 吗?

从技术上讲,PWA 至少需要 manifest.json。但是,Service Workers 对于离线功能和性能优势是必不可少的,这些优势定义了 PWA 体验。没有 Service Worker,您的可安装网络应用只是带有图标的网络应用,而不是真正的 PWA。

PWA 能否取代对本地应用的需求?

对于内容繁重的应用,可以。但是,需要 GPS、麦克风或图形密集型处理的应用仍然受益于本地开发。许多公司使用 PWA 首先触及广泛的用户群,然后如果需要专业功能,再投资开发本地应用。

PWA 是否需要 HTTPS?

是的,绝对需要。出于安全原因,Service Workers 仅在 HTTPS 连接上注册。HTTP 网站无法拥有 PWA。如果您考虑使用 PWA 功能,使用 HTTPS 保护您的网站是不可协商的。

哪些浏览器支持 PWA 安装?

Chrome、Edge、Samsung Internet 和 Opera 拥有完整的 PWA 安装支持。Firefox 识别 manifest 但缺乏本地安装提示。iOS 上的 Safari 允许主屏幕快捷方式,但不支持真正的 PWA 安装。为不支持的浏览器上的用户提供备用方案。

拥有 PWA 能改进 SEO 吗?

PWA 不能直接提升搜索排名,但可以间接帮助。更快的网站、更低的跳出率和更好的用户参与度——这些都是精心构建的 PWA 的特点——是搜索引擎考虑的信号。强大的性能和离线功能可以导致更高的用户保留率,从而支持 SEO。