01|PWA 真是在做“网页增强”,还是在碰入口?

写到这里, 跨端这条线其实已经分出两种非常不同的现代答案了。

一种是 React Native 这种:

  • 接受原生宿主
  • 接受平台差异
  • 用更接近前端的心智去借宿主能力

另一种则完全不是这套逻辑。

PWA 更像是在问:

如果浏览器本来就是最普遍的运行环境,那为什么应用一定非得通过商店、非得完全服从平台入口,才能被当成“App”看待?

这一步为什么危险?

因为它碰的已经不只是技术体验问题。

它还碰到了:

  • 安装入口
  • 分发权
  • 支付权
  • 平台和 Web 的边界

也就是说, PWA 最值得写的地方不是:

“它是不是又给网页多加了几个能力。”

而是:

它试图把 Web 再往“应用平台”方向推一步。

而一旦 Web 往前迈这一步, 平台就不可能无动于衷。


02|“更像 App”这句话,反而遮住了重点

PWA 当然有很多非常直观的卖点:

  • 可安装
  • 离线
  • 推送
  • 独立窗口
  • 更像原生应用的体验

可如果你只停在这些功能表, 你还是会把 PWA 理解浅。

因为它更深的一层,其实是:

它试图让 Web 不再只是“打开一个地址”,而能在用户心智和设备入口上,占住一块更像应用的位置。

这会带来非常大的后果。

因为一旦这件事成立, 那就意味着:

  • 安装不一定要经过商店
  • 更新不一定要等审核
  • 分发不一定要走平台市场
  • 某些数字业务也许可以绕开平台抽成

这才是 PWA 真正让平台警惕的地方。

它不是单纯提升了网页体验。

它是在试探:

Web 能不能重新抢回一部分本该属于应用商店和平台宿主的入口地盘。


03|Safari 真的是慢,还是根本不想让你走太远?

很多前端后来聊 PWA, 最容易把问题讲成:

  • Safari 支持太慢
  • 某些 API 不给
  • iOS 体验总差一截

这些当然都对。

可如果只写成“浏览器实现慢”, 这条线就会被写浅。

因为 PWA 在 iOS / Safari 上那些著名的“不够完整”, 往往并不只是工程进度问题。

它们底下更像一套平台边界管理:

  • 允许你像一点 App
  • 但别像到可以无视商店
  • 允许你装到主屏
  • 但别完全摆脱平台安全模型
  • 允许你有一点离线和推送
  • 但别把 Web 真的抬成和原生分发平起平坐的入口

也就是说, PWA 在 Apple 生态上的长期尴尬, 不能只理解成“落后”。

更应该理解成:

平台一直在谨慎决定,Web 到底能被允许像 App 到什么程度。

这就和 Flash 那条线很像了。

区别只在于:

  • Flash 是第三方运行时
  • PWA 是开放 Web 自己往前长

可一旦它们都开始碰入口和宿主边界, 平台的警惕会立刻长出来。


04|欧盟这场风波,到底把什么矛盾掀开了?

这一段几乎是 PWA 历史里最应该写进正文的现代节点。

因为它把很多原本还可以装成“技术实现节奏”的东西, 一下子撕开了。

事情大概是这样:

Apple 一度宣布, 由于 DMA 合规带来的变化, 欧盟用户的 Home Screen web apps 能力将被移除。

后来又很快反转, 说会继续提供现有能力, 但继续强调:

这套能力仍然要建立在 WebKit 及其安全架构上。

这件事最值得盯住的, 不是 Apple “改主意”这件事本身。

而是它几乎公开承认了:

一旦 Web App 真开始碰到替代引擎、平台安全模型和入口控制权,这已经不是某个 API 支持不支持的问题,而是一整套平台治理问题。

为什么这个节点这么重要?

因为它让 PWA 的真正冲突第一次显得非常赤裸:

  • 不是只有开发者在谈体验
  • 不是只有浏览器团队在谈标准
  • 监管也进来了
  • 合规也进来了
  • 平台入口解释权被直接摆上桌了

这说明 PWA 这条线早就不只是技术路线。

它已经是一条:

开放 Web 能不能获得更多平台地位

的路线。


05|它总像差一点,却又死不掉

如果只看这十几年, PWA 好像一直都在一个很微妙的位置上:

  • 好像很重要
  • 又好像总差一点
  • 经常被吹成未来
  • 又经常被现实打脸

这会让很多人误以为:

它是不是就是一个永远半成品的方向?

可如果换个角度看, 你会发现 PWA 之所以一直不会死, 正是因为它背后承载的不是某个框架的命运。

它背后承载的是一种特别长期的冲动:

开放 Web 总想重新证明,自己不只是内容入口,也可以承接更重的应用入口。

只要这股冲动还在, PWA 就不会真正死掉。

它可能一时被平台边界压住, 可能一时功能差一点, 可能一时在商业上不划算。

但它代表的那种愿望不会消失:

  • 别完全被商店定义应用
  • 别完全让平台决定入口
  • 别完全让审核和抽成决定什么能活

所以 PWA 最适合被理解成:

开放 Web 对“应用入口”这件事的一次次反攻。

它不一定每次都赢。

但它也不会真正退出牌桌。


06|回头看,PWA 真正碰到的墙是什么?

回头看 PWA, 最不该只记住的, 是某个浏览器支持矩阵。

更该记住的是这句:

PWA 最深的冲突,不是功能,而是开放 Web 一旦太像 App,就会碰到平台对入口、支付和安全模型的控制。

所以 PWA 这条线最尴尬的地方, 从来不是“差几个 API 就圆满了”。

它真正尴尬的,是每往前像 App 一步, 就更像在逼平台回答一句它最不想回答的话:

如果 Web 也能安装、分发、更新、收钱,那 App Store 到底还剩下多少不可替代的权力?

问到这里, PWA 就不再只是技术路线。

它会立刻变成入口路线、支付路线,最后变成平台治理路线。


编者注(事实核对):文中关于 PWA 与应用入口关系的论述,主要依据 Web App Manifest、web.dev 等官方技术材料对可安装 Web 应用形态的定义。关于 Apple 在欧盟 Home Screen web apps 问题上的反复与最终限定在 WebKit 之上的说明,主要依据 Apple Developer 在 DMA 相关支持文档中的公开表述。正文据此将 PWA 概括为“开放 Web 争取应用入口地位的长期路线”,属于在技术能力、平台边界和分发现实共同作用下的历史判断。


关键人物速览

  • Apple Safari / WebKit 团队:理解平台如何谨慎决定 Web App 边界,绕不开他们。
  • Open Web Advocacy 等倡议者:理解 PWA 为什么会进入更公开的平台与监管争论,绕不开这类力量。
  • Web 平台标准与浏览器实现者:理解 PWA 为什么不是单一框架命运,而是一条长期平台路线,绕不开他们。

参考与延伸阅读

  1. Update on apps distributed in the European Union
    https://developer.apple.com/support/dma-and-apps-in-the-eu/

  2. Web App Manifest
    https://www.w3.org/TR/appmanifest/

  3. Explore Progressive Web Apps
    https://web.dev/explore/progressive-web-apps

  4. iOS 17.4 won't remove Home Screen web apps in the EU after all
    https://9to5mac.com/2024/03/01/apple-home-screen-web-apps-ios-17-eu/