PWA是什么 官方实践文档:https://developers.google.com/web/fundamentals/codelabs/your-first-pwapp/
PWA(Progressive Web App), 即渐进式web应用。PWA本质上是web应用,目的是通过多项新技术,在安全、性能、体验等方面给用户原生应用的体验。而且无需像原生应用那样繁琐的下载、安装、升级等操作。
Service Worker是什么 官方文档:https://developers.google.com/web/fundamentals/primers/service-workers/
service worker 是独立于当前页面的一段运行在浏览器后台进程里的脚本。
service worker不需要用户打开 web 页面,也不需要其他交互,异步地运行在一个完全独立的上下文环境,不会对主线程造成阻塞。基于service worker可以实现消息推送,静默更新以及地理围栏等服务。
service worker提供一种渐进增强的特性,使用特性检测来渐渐增强,不会在老旧的不支持 service workers 的浏览器中产生影响。可以通过service workers解决让应用程序能够离线工作,让存储数据在离线时使用的问题。
注意事项:
1.service worker运行在它们自己的完全独立异步的全局上下文中,也就是说它们有自己的容器。
2.service worker没有直接操作DOM的权限,但是可以通过postMessage方法来与Web页面通信,让页面操作DOM。
3.service worker是一个可编程的网络代理,允许开发者控制页面上处理的网络请求。
4.浏览器可能随时回收service worker,在不被使用的时候,它会自己终止,而当它再次被用到的时候,会被重新激活。
5.service worker的生命周期是由事件驱动的而不是通过Client。
参考:https://www.vidmateapp.com/faq/hi?v=1
https://www.jianshu.com/p/1b305979f820
lavas:https://lavas.baidu.com/guide/v2/advanced/appshell pwa文档:https://lavas.baidu.com/pwa/engage-retain-users/add-to-home-screen/app-install-banners
快速入门:https://www.jianshu.com/p/fad8aa9e277f