皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Safari 技术预览版 46 发布:默认启用 Service Workers

Safari 技术预览版 46 发布:默认启用 Service Workers

Safari 技术预览版 46 已于昨天发布,最重大的更新莫过于默认启用 Service Workers,这意味着苹果也开始拥抱 PWA 了,再联想到此前报道过的新闻 ——“Chrome Web App 已被谷歌干掉 未来将主推 PWA”,相信我们将要进入 PWA 的时代。

Safari 技术预览版 46 发布:默认启用 Service Workers

事实上,在今年 7 月份的时候,WebKit 团队对于是否要支持 Service Worker 表示正在考虑,后来在 8 月份变成了 “In development”,到现在终于正式发布了。

下面简单介绍一下 Safari 技术预览版 46 的更新内容。

与 Service Worker 相关的更新内容:

  • 默认支持 Service Worker
  • 在 Service Worker 内部可以访问 self.registration
  • 在 Service Worker 内部可以处理 self.skipWaiting
  • 实现了 clients.get() 和 clients.getAll()
  • 在 Service Worker 中支持 container.register() 和 registration.unregister()
  • 在 Service Worker 中激活 indexedDB 和 Web Sockets
  • 在 Service Worker 中支持 container.getRegistration() 和 container.getRegistrations()
  • 在 Service Worker 中支持 serviceWorker.postMessage() 和 serviceWorkerRegistration.update()

此外,Safari 技术预览版 46 还包括针对 Security UI(在不安全页面上填写密码和信用卡表单信息时会有警告信息提示)、隐私、CSS、渲染、存储访问 API(Storage Access API)、Web检查器、Web Assembly、Web 驱动程序、JavaScript、媒体和 WebRTC 的错误修复和功能改进。

最后介绍一下 PWA,以及目前业界对 PWA 的支持情况。

PWA 不是特指某一项技术,而是应用了多项技术的 Web App。其核心技术包括 Web App Manifest、Service Worker、Web Push、Credential Management API ,等等。前两项是核心技术,目前除了 Chrome 完全支持之外,大部分国产移动浏览器也都能够支持。

对于 Service Worker,还需要扩张的包括:

  • iOS 版 Safari,随着桌面版 Safari 已经支持,我们有理由相信 iOS 版在未来也能支持。事实上只要 iOS 上能够支持,PWA 在移动 Web 上的障碍基本就没有了,所以这将是一个重要节点。
  • 微软 Edge 浏览器,目前已经在 Windows Insider 预览版默认开启了,即将与大众见面。

其它浏览器的支持情况请看这里:https://jakearchibald.github.io/isserviceworkerready/

对于 PWA 的另一项核心技术 Web App Manifest,苹果表示也正在开发中,按开发进度可能几个月后会发布。Web App Manifest 的作用主要是让 Web App 能“安装”到用户设备上,没有这个 PWA 也能运行。除了苹果,微软家的 Edge 也正在开发。

至于 Web Push 等特性各个桌面端浏览器也基本都支持了,移动端的 iOS 平台还没有支持。

现在 PWA 只剩下一个堡垒等待攻坚,那就是 iOS,什么时候 iOS 支持了,PWA 就可以统治世界了。

不过,现在开始可以开发 PWA 为桌面用户和 Android 用户提供服务了。

详细更新说明:https://webkit.org/blog/8042/release-notes-for-safari-technology-preview-46/
参考:前端之巅

转自 http://www.oschina.net/news/91734/safari-technology-preview-46-support-service-worker