原子网络科技 原子网络科技

2026年渐进式网页应用如何开发?PWA已经成为移动设备上的标准功能,并不是一个可以选用的功能

a169kai 2026年10月28日 · 阅读约 5 分钟

渐进式网页应用(PWA)的核心已经从是否能够脱离网络转向了如何使首页、可以安装的版本以及断网后的用户体验成为一个完整的商业指标,并且本文将整个实现过程分为四个步骤。

什么是渐进式网页应用?首先澄清一下经常混淆的三个术语

App Shell 是由 HTML、必要的 CSS 和一些主要的 JavaScript 构成的最简单的网页框架,在业务数据加载之前就已经开始工作了,它的主要作用是在页面打开的时候让屏幕立刻显示出有用的信息。Service Worker 是单独一个线程中的缓存和请求代理脚本,并不参与页面的渲染过程,只负责离线访问、重试以及更新等操作。Web App Manifest 则是一个 JSON 文件,用来定义桌面图标、启动画面、显示方向以及主题颜色等信息。只有把这三者结合在一起才能算作一个真正的渐进式网页应用;而仅仅做一个可以放在主页面上的网页的话,距离真正的 PWA 还很遥远。

为什么要等到2026年才进行PWA改造呢?因为快速体验和可安装性直接影响转化率

在4G网络不稳定、弱网以及跨区访问普遍的情况下,原生应用由于下载和审核时间长而被用户弃用的情况很多。电商、内容站和服务预约等网站通过使用App Shell加上缓存优先策略之后,首页几乎可以立即显示出来,购物车、商品详情、服务表单等高频率页面也可以在没有网络连接的时候进行浏览和填写。

对于搜索引擎来说,PWA所要求的移动端优先、无障碍和性能优化等标准,和主要的页面评价指标的方向是一致的;而对于企业用户而言,可以安装的功能所带来的桌面入口以及二次访问的价值要比一次点击更高。

性能基线要符合以下三个硬性标准才能算作PWA可以发布

  • LCP(最大内容绘制时间)不超过2.5秒:预先加载App Shell和重要的CSS文件,在再次访问的时候通过Service Worker直接从本地缓存中获取。
  • INP小于200ms: 将非重要的JavaScript代码放到主线程之外去执行,并且延迟执行埋点和第三方库的加载。
  • CLS小于0.1时,图片和文字都标明了大小,并且用font-display:swap的方式加载字体,防止出现文字闪烁导致整个页面晃动的情况。

把图片都转换成 WebP 或者 AVIF 格式,在服务器上启用 Brotli 压缩,并且在第一屏的内容中嵌入 CSS,之后的内容则采用异步加载的方式。虽然这些操作本身并不能带来“PWA”的效果,但是它们却是实现 PWA 的基础条件。

但是安装门槛:Manifest 出错,前面都白费了

name、short_name、start_url、display、icons这5个要素缺一不可,其中icon要包含两种尺寸:192px和512px,并且要有可裁剪的maskable版本以防在不同操作系统下出现边缘被截断的情况。start_url不能是带有参数的中间页面,否则用户点击之后看到的是中间页而不是首屏主视觉图,导致回访数据不准确。主题色和背景色要和首屏主视觉一致以减小冷启动带来的突兀感。

不要等到网页全部加载完毕之后再弹出安装提示框,在订单提交成功、收藏夹添加之后或者用户第三次进入某类别页面之前都可以作为触发点——因为这时候用户已经确认了网站对自己有帮助,并且有了更高的安装欲望。

Service Worker 中存在的四种缓存方式,请不要简单地使用全部缓存

策略对比

静态资源(CSS、字体、图片)采用Cache First策略,在缓存中命中则直接返回;文章列表和商品目录使用Stale-While-Revalidate模式,在前端显示旧数据的同时后台进行更新;订单、支付以及登录等操作则采用Network Only方式,并且要加上友好的降级方案来代替过期的数据;用户提交的操作要用Background Sync来实现,在网络恢复之后会自动补发。

更新流程要清楚:skipWaiting + clients.claim适用于工具类产品,可以马上得到新版本;而资讯和电商则应该用提示刷新来代替,防止同一个浏览器中同时存在两个版本造成逻辑矛盾。

上线之前要做的检查列表

检查项工具或位置合格状态
Service Worker 注册与 HTTPSChrome DevTools → Application状态为 activated
Manifest 可安装性Lighthouse PWA 类目无红色阻断项
断网下的核心页面Network 切换 Offline列表与详情可浏览
缓存体积与更新Cache Storage 面板设上限并定期清理
推送权限Application → Push仅在明确交互后申请

真实的离线数据更加重要,即可缓存资源所占的比例、断网之后仍然可以访问的网页数量以及用户所完成的离线操作的数量。这三个方面要比Lighthouse评分更能反映出PWA是否真正地为业务提供了帮助。

渐进式网页应用并不是把网站包装成App那么简单,而是通过缓存策略和离线可用性的方式来进行交付的一种方法。首先要把主要的网站指标降到合格线以下,然后根据不同类型的资源来制定相应的缓存策略,并且要用断网以及更新这两条途径来进行测试,在2026年的PWA正确实现之前都不能这样做。

0 0 投票数
文章评分
订阅评论
提醒
guest
0 评论
最旧
最新 最多投票