前言:该篇说明:请见 说明 —— 浏览器工作原理与实践 目录
在专栏开篇词中,我们提到过浏览器的三大进化路线:
- 第一个是应用程序 Web 化;
- 第二个是 Web 应用移动化;
- 第三个是 Web 操作系统化;
其中,第二个 Web 应用移动化是 Google 梦寐以求而又一直在发力的一件事,不过对于移动设备来说,前有本地 APP,后有移动小程序,想要浏览器切入到移动端是相当困难的一件事,因为浏览器的运行性能是低于本地 APP 的,并且 Google 也没有类似微信或者 Facebook 这种体量的用户群体。
但是要让浏览器切入到移动端,让其取得和原生应用同等待遇可是 Google 的梦想,那该怎么做呢?
这就是我们本节要聊的 PWA。那什么是 PWA ?PWA 又是以什么方式切入到移动端的呢?
PWA,全称 Progressive Web App,翻译过来就是渐进式网页应用。根据字面意思,它就是“渐进式 + Web 应用”。对于 Web 应用很好理解了,就是目前我们普通的 Web 页面,所以 PWA 所支持的首先是一个 Web 页面。至于 “渐进式”,就需要从下面两个方面来理解。
- 站在 Web 应用开发者来说,PWA 提供了一个渐进式的过渡方案,让 Web 应用能逐步具有本地应用的能力。采取渐进式可以降低站点改造的代价,使得站点逐步支持各项新技术,而不是一步到位。
- 站在技术角度来说,PWA 技术也是一个渐进式的演化过程,在技术层面会一点点演进,比如逐渐提供更好的设备特性支持,不断优化更加流畅的动画效果,不断让页面的加载速度变得更快,不断实现本地应用的特性。
从这两点可以看出来,PWA 采取的是非常一个缓和的渐进式策略,不再像以前那样激进,动不动就是取代本地 APP、取代小程序。与之相反,而是要充分发挥 Web 的优势,渐进式地缩短和本地应用或者小程序的距离。
那么 Web 最大的优势是什么呢?