《PWA实战》笔记

1,072 阅读2分钟

PWA实战

  • PWA其实是运用一堆技术(这些技术独立可用)来使web应用更加像原生应用,但是保持内容可时刻更新的特点,并且该技术是渐进式的,在不支持该技术的浏览器上也可以使用该web应用,而使支持该技术的浏览器可以让用户得到更好的体验。
  • Service Worker是PWA的关键,这一技术可以很好地控制一个web应用的资源获取和传输(拦截Request和Response),而且可控制的粒度非常精细。出于安全考虑,该技术只能用于HTTPS,本机可以使用localhost来进行开发和调试。
  • 使用Service Worker缓存来缓冲web应用所需的一切资源,以利于web应用在第二次开始使用web应用时进行快速加载框架,而不用再次从服务器重复索取资源,也有利于web应用(突然)的离线应用。
  • webP是Google公司研发的新的图片格式,这种图片格式可以使图片的压缩率更高,而且图片质量相较于其他的图片格式不降低,但是浏览器的支持率一般,主流浏览器没有覆盖。
  • 通过设置web应用清单可以做到将web应用添加到主屏幕,点击图标即可快速打开该web应用。个人认为这是很好的一种做法,给与了用户本地应用的体验。
  • 可以推送通知,这项技术大部分的浏览器也都支持了,而且可以第三方推送通知。
  • 浏览器有多种持久化存储的方式,可以让web应用离线使用。
  • 运用Service Worker可以处理单点故障(SPOF),通过对请求进行时间的计算,超过某一时间即作出某种回应,好让其他的资源继续加载,而不用卡在某个文件的加载上。
  • 可以保持数据的同步,当进行注册的时候,网络是断开的,注册的数据会在浏览器里存储起来,等到连上网络的时候,可以自动把数据提交到服务器进行注册。个人认为该技术不太好,一种情况是用户在注册之后无法登陆,等到下一次网络好了之后,用户还是会选择去注册一个账号,因为在注册之后无法登录的话,用户会认为注册是失败的,因此会再次注册一个账号,照成重复注册。
  • 总的来说,web应用因该是会越来越像原生应用靠齐,对于未来的展望,我是认为浏览器总有一天会单独实现在某种设备上,每一个网页都可以成为一个应用,即使离线也可以使用,而且还可以高性能地运行。