现在所有主流浏览器都支持 Service Workers 了

  • Kevin Ball
  • 冬雨

2018 年 5 月 15 日

话题:JavaScript语言 & 开发

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

随着 4 月 30 日 Windows 10 2018 年 4 月 10 日更新补丁的发布,以及 3 月 29 日 Safari 11.1 版本的发布,Edge 和 Safari 以及 Firefox 和 Chrome 都默认支持 Service Workers 了。开发人员现在可以开发提供离线功能的渐进式 Web 应用(Progressive Web Apps),并期望它们在除 Internet Explorer 和 Opera Mini 之外的所有浏览器上运行。

Service workers 是渐进式 Web 应用 (PWA) 的关键功能,应用可以通过允许它们“被安装”、发送相关的推送通知、甚至在脆弱的网络上快速加载,以填补本地和 Web 之间的断隙。通过这些更新,PWA 现在可以安装在 iOS 和 Windows 10 设备上,以及 Android 和 Chromebooks。

谷歌一直是 PWA 功能的最大倡导者之一,而有些科技公司已经在 Android 上用过 PWA 一段时间了。一些著名的例子是 Twitter Lite、Flipkart 和 Pinterest 的新式移动 web 应用。在一个描述 Pinterest 新的移动体验的案例研究中,谷歌工程经理 Addy Osmani 写道:

与旧的移动网络体验相比,用户使用时间增加了 40%,用户所产生的广告收入增加了 44%,核心业务增长了 60%。

即使不打算创建完全的离线体验,service workers 也会非常有用。通常宣传的好处包括减少带宽的使用和加快给第一印象的时间,而同时 API 的灵活性可以提供广泛的潜在用途。在一篇关于额外应用的工程博客文章中,Dexecure 的 ian Parameshwaran 说:

Service workers 可能是最近在 web 平台上新加的最强大的 API。它使您可以访问 JavaScript 领域的可编程代理。您可以对每个请求以及浏览器接收到的响应进行任何操作——取消请求、重新路由它、修改响应 (在某些情况下)、缓存它,等等。

其中突出的一些应用程序包括客户端负载均衡、针对每个设备和带宽条件进行图像优化,甚至是高级图像解码。

有兴趣了解服务工作人员的开发人员可以查看谷歌的 Web 基础入门教程或 Mozilla 文档。那些希望快速上手的用户可以使用谷歌的 Workbox 库快速集成一些常见的 Service Worker 功能,如预缓存、运行时缓存、请求路由、后台同步等。 

查看英文原文Service Workers Now Supported across All Major Browsers

JavaScript语言 & 开发