PWA小记

       PWA作为近期最为热门的前端技术,正被广泛应用与国外各大厂商的APP当中,例如,最近twritter就用PWA替换了windows10上的功能严重缺失且更新缓慢的UWP应用,微博也推出了PWA版的微博应用,无需下载即可使用(网友惊呼web赶超原生APP了)。
       本文就来简单介绍一下这项面向未来的黑科技。PWA最初由google于2014年提出,当时可能由于过于先进,只有chrome完美支持了PWA,因此影响力十分有限,时隔4年,PWA已经羽翼丰满(特别是safari支持了PWA之后),是时候大展身手了。
       首先,PWA最重要的一个部分是Service Worker,可以把它理解成是一个本地的server,它是独立于web网页的一个独立进程,因此在Service Worker中的任何操作都不会阻塞web进程的渲染与执行,这就相当于浏览器的实现的子进程,我们可以把耗时操作放在Service Worker中(如跑个AI什么的,配合tfjs也是杠杠的)。它还可以拦截请求,并进行缓存,预处理等等。另一个重要特性就是它能常驻后台,这使它能够完成服务端的消息推送以及应用载入时提供必要的页面资源(前提是已缓存)。
示例图
       其次,便是manifest.json,这主要是与APP图标相关,它可以自定义APP图标与名称,并提供添加APP图标的横幅。按照标准实现后,以普通APP相差无几。
       结语,Web的时代正在悄悄到来,随着Web应用用户体验的提升,Web应用跨平台的优势越来越明显,或许在2年后Web应用就会完全替代原生APP。
附PWA相关资源:
PWA应用合集 https://pwa.rocks/

评论

此博客中的热门博文

公司自动部署系统建设

tfjs源码笔记

前端首屏渲染优化