PWA 今天能做什么

渐进式 Web 应用(PWA)如今已经暴露出广泛的设备能力——推送通知、离线使用、摄像头和条码访问、文件 API 等等——使其在许多场景下成为原生移动应用的一个可行替代方案。评论者在这些优点与重大缺点之间权衡:浏览器支持不均衡(尤其是在 iOS 和非 Chromium 引擎上)、并非 Web 标准的 Google 特有 API、安全与隐私顾虑,以及频繁出现的用户体验缺陷和性能问题。最终形成的分歧看法是:PWA 要么是绕开应用商店把关、简化多平台开发的有前景方式,要么是一个脆弱、依赖浏览器的层,往往无法匹配原生应用或简单传统网站。

关于 PWA 的总体情绪

  • 讨论明显分裂:一些人认为 PWA 是跨平台应用的正确方向,也是绕开应用商店控制的一种方式;另一些人则认为它们被过度吹捧、脆弱,而且往往不如原生应用或普通网站。
  • 支持者强调更低的开发成本(一个代码库、Web 技能)、可立即覆盖全球、适合自助终端/内部部署,以及对许多业务应用来说“足够好”的用户体验。
  • 批评者强调行为不可靠、用户体验差、JS 臃肿,而且很多 PWA 其实只是过度设计的 SPA,简单网站就足够了。

平台支持与标准政治

  • 反复出现的主题是:许多展示的能力依赖于仅限 Blink 的 API(Web Bluetooth、WebUSB、Shape Detection、Web Share Target、某些 Digital Goods 流程)。
  • Mozilla 和 Apple 已明确以安全、隐私或指纹识别等理由拒绝了其中一些;有些人认为这是合理的,另一些人则认为这是为应用商店搞保护主义。
  • 有人担心 Google 通过 Chromium 实际上在定义“web”,从而带来事实上的 Chrome 垄断;反方观点是 Chromium 是开源的,而且仍受标准流程约束。
  • Firefox 已放弃桌面端 PWA/SSB 支持,部分人认为这是自我造成的伤害。

能力、用例与局限

  • 具体成功案例包括:通过 MDM/Intune 部署的内部 PWA;依赖摄像头的企业应用;媒体播放器;自助终端式设置;条码扫描(但有注意事项)。
  • 缺失或薄弱的领域包括:没有标准化的日历 API(只能通过 iCal/CalDAV 变通);文件系统访问尚不成熟(尤其在移动端);蓝牙/USB/串口支持有限或不一致;而且 iOS Web 推送长期表现不佳。
  • 一些 API 虽然存在,但有 bug 或只实现了一部分(例如 Firefox Android 上的振动,移动端的文件系统和全屏摄像头访问)。

安装、用户体验与可发现性

  • 在 iOS 上,通过分享表单里的“添加到主屏幕”被认为不直观且很隐蔽;Android 的安装提示更容易,但理论上也可能让人反感。
  • PWA 按浏览器单独安装、图标行为不一致(例如浏览器徽标)、以及 iOS 不支持分享目标,都是反复出现的抱怨。
  • 很多用户更喜欢直接使用浏览器标签页,而不是独立“应用”;另一些人则喜欢把 PWA 当作带任务栏入口和通知的独立窗口。

信任、变现与商业角度

  • 有人认为应用商店提供了用户会响应的信任和支付层(尤其在 iOS 上);PWA 则需要其他模式(订阅、Web 支付、Digital Goods API)。
  • 一些人担心 PWA 会成为“无处不在的 ChromeOS”路径;另一些人则认为更大的问题是摆脱应用商店的抽成和把关。