如何看 Safari Technology Review 版本支持 Service Worker

PWA 的爆发离我们还会远吗?

Posted by zoumiaojiang on 2017-12-22

2017 年 12 月 21 日,苹果在《Release Notes for Safari Technology Preview 46》的发布报告中提到了一个非常起眼的特性支持:支持 Service Worker。在报告的一开始就直接展示 Service Worker 相关的内容,和之前的「计划」或者「考虑中」不同的是,Apple 这次在 Safari Technology Preview 版本中真真切切的实现了 Service Worker 相关 API,以及 Cache API,亲测在「离线可访问」特性上是完全支持的。

在这里需要说明的是,Safari Technology Preview 版本不是 Safari 的常规版本,我们可以理解为是 Safari 的尝鲜版或者是技术相关的 Showcase 版,支持的内容距离真正被用户可用,尤其是 iOS Safari 真正支持,可能还是有一定的时间。Mac OS 的同学可以直接在 https://webkit.org/downloads/ 下载安装使用。

看到这个消息的时候是非常激动的,如果 Apple 能够加入 PWA 的支持者阵营中,相信 Apple 能够依赖自己强大的生态掌控能力去将 PWA 做的更好更加规范化,至少相对于中国混乱的 Android 市场来说。借着这个事情,在这里可以推敲一下 「PWA 到底能带来什么」?「为什么 Apple 迟迟没有积极正面响应 PWA」,但是还是选择支持相关特性,也可以讨论下 「为什么在国外已经火的不成样子的 PWA 在国内还没有爆发」。

PWA 能带来什么

需要搞清楚的 PWA 能带来什么,可以从用户、内容和服务提供商、搜索引擎的角度来分析一下,我们会发现国外之所以在如火如荼的进行站点 PWA 化其实是一个多赢的结果。

互联网用户

首先说一下能为互联网用户带来什么,对于用户来说,需求其实很简单,只是在想要获得信息或服务的时候能够方便的获取到,现在的 Web App 也好,Native App 也好,都是为了给用户提供最方便的使用体验,让用户快速找到所求,用户在这个大的信息和服务需求背景下,还有以下几点诉求:

  1. 便捷:可以快速精准的找到入口
  2. 快速:能够快速展示所需要的信息和服务,尤其是在弱网环境下。
  3. 可用:离线或者弱网情况下也能使用。
  4. 节省空间:移动设备的存储空间有限,App 安装数量太多就需要更多的存储空间,无疑增加用户移动设备升级更新的成本。

当前 Native App 在便捷性方面做的很好,能够通过 App icon 入口让用户快速精准的找到信息或服务,但是 Native App 无法解决离线或弱网请求问题,最主要的是非常占用移动设备存储空间,对用户来说是个不可避免的痛点。另一个主要获取信息和服务的途径是 Web 站点,尤其是一些短频需求,更是不愿意安装一个 Native App,但是传统 Web 站点除了能够节省用户安装 Native App 的存储空间以外,对用户来说其他几点都是痛点。

PWA 本质上还是一个 Web 站点,但 PWA 的 Service Worker 的离线能力和弱网请求策略的能力能让 Web 站点可用性大大加强,App Shell 相关的设计让站点的速度快速展现,Manifest 的「添加到桌面」的功能能够使得用户更便捷的找到,并且无需安装,大大节省存储空间。

内容服务提供商

无论是 Web 站点,还是 Native App,内容或服务提供商都比较关心以下几点内容:

  1. 用户体验
  2. 开发成本
  3. 可传播性(拉新)
  4. 用户粘性(留存)

Native App 的操作比较顺畅,用户体验比较好,由于用户安装 App 后能很快找到入口,并且还有消息通知机制可以做到精准推送达到好的用户留存效果,用户粘性较好,但是开发成本偏高,需要有专门的 iOS 和 Android 开发团队去开发,开发周期长,且审查严格。而传统 Web 站点相对于 Native App 体验较差,但是由于是 Web 页面,在开发成本和可传播性方面都有大大的优势。

PWA 对于 内容和服务提供商来说,是结合了 Web 站点和 Native App 两者的优点,相互取长补短的结果,PWA 本身是个 Web 站点,在开发成本和可传播性方面保持着既有的优势,但是由于「离线可访问」特性的出现,配合一些缓存策略以及 HTML5 相关 Native API 的支持,在用户体验方面已经不输 Native App,在用户粘性方面 「添加到桌面」和 「消息 Push」的机制能够使得 PWA 完全可以解决传统 Web 站点用户粘度问题的痛点。所以对内容和服务的提供方(Web 站点/Native App)来说,PWA 带来太多东西了。

当然,PWA 对于内容和服务提供商来说最重要的是开放,所有的开发环节都是遵循开放的标准,而不是封闭的自定标准,什么都是可以自己掌控的。

搜索引擎

搜索引擎有也几点非常迫切的需求:

  1. 优质的搜索结果落地站点
  2. 丰富的内容可被检索
  3. 能被广泛认可的落地页站点质量评价机制

与几年前不同,近几年各种平台级别的 Native App 的出现导致内容都被封锁在各自的闭环里,导致搜索引擎的内容无法满足用户的精准搜索需求,但是有很多短频的需求用户又无法去专门的 Native App 中去方便搜索,所以当前现状对用户尤其是短频需求用户来说是一个很大的伤害。

PWA 本身是一个 Web 站点,所以对搜索引擎来说内容是得到了补充,PWA 站点的内容可以被检索,PWA 的良好体验做为搜索结果落地页对搜索引擎的生态质量来说是迫切需要的。最重要的是 PWA 在支持特性方面有一套良好的支持评分标准,可以方便搜索引擎自动评价一个 Web App 的质量。

Apple 的态度

Google 在旗下 Chrome 浏览器很早就已经全面支持了 PWA 相关特性,甚至在开发调试方面也不断的推出相关工具,Chrome DevTools 和 Lighthouse 几乎都是围绕着 PWA 相关特性在做各种升级,并且多次在各种大会上极力的做着布道和推广的工作,国外的很多内容和服务商都加入到了 PWA 支持者阵营,也有很多的 PWA 应用问世,比如 Twitter 等大型的 Web App 也在其中。

但是 Apple 对 PWA 的态度一直不温不火,没有很积极的推动和参与,Apple 可能更多的考虑是 PWA 会对自身的 Native App 入口流量分发造成影响,和 Google 不同,虽然 Google 也是操作系统厂商,但 Google 更多的依靠其搜索引擎进行入口流量分发,而 PWA 做为用户体验良好的 Web 站点自然可以为 Google 的搜索引擎带来更多的正面收益,由于 Apple 没有搜索引擎支撑,所以不能像 Google 那么去考虑生态问题,这也是 Apple 之前不积极态度的原因。

然而 Apple 此次在 Safari Technology Previwe 版本支持 Service Worker 至少可以看出 Apple 在对 PWA 相关特性的支持是在进行中的,也许 Apple 内部正在进行着激烈的讨论 PWA 该何去何从,但至少有一点可以肯定的是,从目前来看出于对用户体验友好和对开发者友好的角度出发, Apple 对 PWA 是持开放和支持态度的,毕竟没有提出任何反对的声音,在进度上也有实质性进展和产出。但是我想 Apple 应该会在 Native App 生态和 PWA Web 生态之间做个平衡,具体怎么做,我们可以拭目以待,也许真到了 Apple 在正式 Safari 和 iOS Safari 上全面支持 PWA 特性的时候,国内的 PWA 能真正迎来爆发,如果 Apple 都能拥抱 PWA,我实在找不出国内 Android 厂商不拥抱 PWA 的任何理由。

Note:

iOS Safari 目前是支持手动「添加到桌面」功能的,但是没有参照 Web Manifest 标准实现。

为什么国内 PWA 没有爆发

首先可以说一下为什么国外的 PWA 那么火,这里除了对用户对内容服务商的优点以外,其实有几个重要的因素,这些因素在国内是有很大阻力的:

  • Google Chrome 浏览器市场份额巨大,Chrome 对 PWA 特性支持完整
  • Google 推广的力度大
  • Web Push Sevice 的开放

国内的浏览器厂商太多了,支持力度不一致,而且利益考虑点也不一致,导致 PWA 体验很难一致,而国外 Chrome 浏览器市场份额巨大,有很好的用户基础。而且在国很少有专门对 PWA 布道的组织,导致很难引发风潮,「消息推送」相关的 Push Service 国外开发者用的爽歪歪,可是我们xxx ,并且国内也没有类似 Goolge 或者 Firebase 一样的企业去开发 GCM 和 FCM 这样的 service。

在整个 PWA 生态中,看起来手机操作系统厂商是最大的受害者,如果 PWA 的爆发,会导致 Native App 的流量下降,厂商作为 Native App 流量分发的大闸在流量分发收益方面肯定会受到冲击。Apple 之所以迟迟没有响应 PWA 有很大一部分是因为在 Native App 生态和用户体验和开发者体验之间做权衡。国内各大 Android 手机厂商也是基于这种顾虑而选择无视 PWA 的存在。

PWA 为什么在国内没有爆发的原因在这里无需赘言了,一方面可以重点关注 Apple 的动向,Apple 的解决方案我想应该就是厂商们的解决方案,毕竟面临的问题是一致的。另一方面,既然 PWA 是多方受益,搜索引擎和厂商的合作也是势在必行,毕竟一个完整健康的生态中不应该有受害者,Google 之所以在国外推广顺利,有很大一部分原因也是因为 Google 既是搜索引擎,也是操作系统厂商,期待国内搜索引擎和厂商的合作,也期待能碰撞出 PWA 在国内完美落地的火花。

欢迎大家扫码关注我的微信公众号「江哥乱谈」,关注我更多的文章动态。

本文为原创文章,会经常更新知识点以及修正一些错误,因此转载请保留原出处,方便溯源,避免陈旧错误知识的误导,同时有更好的阅读体验。
转载请注明来源:https://zoumiaojiang.com/article/service-worker-supported-by-safari-technology-review/