刘翔,阿里巴巴 UC 内核无线开发专家。
本次分享将围绕以下几方面展开,希望能给大家带来对 PWA 的进一步思考:
PWA 的核心能力
(1) Service Worker,独立的 JS 线程,与文档无关的生命周期,离线更新资源的能力。
(2) Reliable
SW Cache、Fetch、Push、Navigation Preload、Background Fetch、Background Synchronization、 CompositorWorker 这些能力如何让 Web 变得更可靠?
PWA 的优秀实践
很多页面用上 PWA 之后,效果并没有想象的那么好,和重构之前基本持平,那么,如何才能发挥 PWA 的真正效果?怎么才能在国内环境下玩转 ServiceWorker Push 预加载?
(1)从内核的角度分析,为何普通的用法无法带来性能的大幅提升。
SW 的启动耗时分析
SWCache 与 HttpCache 的关系和优劣
(2)SW 缓存主文档的实现和效果
(3)SW Push 预加载的实现和效果
(4)SW 独立线程的应用
PWA 带来的影响
(1)逐步给前端开放浏览器内核基础能力,甚至是操作系统能力,比如缓存、推送、添加桌面图标、下载、图片解码、渲染等等
(2)前端正变得无所不能,很多事情都可在 Web 实现,比如 SW、WebGL、WebRTC、WebAR/VR 等等