为什么PWA(渐进式网站程序)各家浏览器都在推进,而国内外似乎都不流行?

1 阅读3分钟

PWA 概念,对 app 开发应该是救世主的存在——一个网页,就能有桌面图标、推送通知、离线缓存,还不用过审。

十年过去了。如果你检查你手机里的 PWA 应用,0 个。


推不动各个厂商跟进更多是利益问题。

做了个

PWA 能力检测实验室

18 项 PWA 特性逐项实测。你用 Chrome 打开,大概率 16⁄18 通过;换 Safari 打开,可能只剩 10 个出头;

用知乎内置浏览器打开,基础能力都过不了几个。各家浏览器的差距,不是文档里写的”部分支持”四个字能概括的,摆出来你就知道各家的浏览器支持几个了。

技术层面早就不是瓶颈了

Service Worker 2014 年进入 Chrome,Web App Manifest 2015 年标准化,Push API、Background Sync、Cache API 陆陆续续补全。到了 2025 年,你在 Chrome 上打开一个配置好的 PWA,体验已经和轻量级原生 App 没什么区别。

问题是你在手机上不用chrome!你在 Safari 上看。或者在微信内置浏览器里看。或者在各种奇奇怪怪的国产浏览器壳里看。

这就回到了 PWA 最根本的矛盾:它要求所有浏览器厂商都好好实现一套标准。但现实是,浏览器厂商各有各的小算盘。

苹果:你绕 App Store,我让你不好用

大家都知道苹果税这个东西吧,每一笔通过 App Store 的内购,苹果抽成 15-30%。一个 PWA 做的电商网站,用网页支付就能完成交易,苹果一分钱分不到。断人财路如杀人父母,你是苹果,你也会卡着。

谷歌:我推,但同时推 Android 原生

谷歌是 PWA 的最大推手,Chrome 对 PWA 的支持是业界最完整的。但注意一个细节——谷歌同时也在全力推 Android 原生开发,推 Kotlin,推 Jetpack Compose,推 Play Store 的各种变现工具。

国内生态:小程序已经回答了 PWA 的问题

PWA 在国内碰到的最大毒瘤就是微信了。

微信小程序就是 PWA 的”国内特色方案”。同样的离线缓存、同样的桌面快捷入口、同样的推送能力——只不过 Service Worker 换成了微信的底层引擎,manifest.json 换成了微信的后台审核。

问题在于,小程序跑在微信的封闭环境里。你的用户数据、支付流程、广告变现,全部在微信的控制之下。PWA 提倡的是开放 Web 标准,这和国内互联网公司追求的生态闭环天然冲突。

还有一个更现实的困难:国内安卓手机的 ROM 五花八门,MIUI、ColorOS、OriginOS 各自对 WebView 的实现都有魔改。一个 PWA 要在所有国产手机上跑通基础功能,测试成本比直接写个原生 App 还高。

所以

除非PWA有啥核心商业突破已经对APP做到了降维打击那种,估计PWA未来一直都会是半死不活的状态。