初识PWA

一、应用背景

  PWA(Progressive Web App)概念的提出,主要是针对原生APP的,目前原生APP的缺点:

  1. 昂贵开发成本;
  2. 软件上线,版本更新都需要发布到不同的商店,并通过审核;

  导致了有些APP用户可能使用频率很少,但是却不得不去在应用商店中下载庞大安装包,或者可能一段时间不使用以后,随着版本的更新,也不得不去重新更新并安装。

  而PWA技术的作为web应用,其天生优势能很好的解决以上的问题。渐进式增强WEB应用(PWA)并不是单指某一项技术,你更可以把它理解成是一种思想和概念,目的就是对标原生app,将Web网站通过一系列的Web技术去优化它,提升其安全性,性能,流畅性,用户体验等各方面指标,最后达到用户就像在用app一样的感觉。

二、核心功能

PWA中包含的核心功能及特性如下:

  • Web App Manifest
  • Service Worker
  • Cache API 缓存
  • Push&Notification 推送与通知
  • Background Sync 后台同步
  • 响应式设计

Service Worker是PWA的核心技术,它能够为web应用提供离线缓存功能,当然不仅如此,下面列举了一些Service Worker的特性:

(1)基于HTTPS 环境,这是构建PWA的硬性前提。(LAMP环境网站升级HTTPS解决方案)

(2)是一个独立的 worker 线程,独立于当前网页进程,有自己独立的 worker context

(3)可拦截HTTP请求和响应,可缓存文件,缓存的文件可以在网络离线状态时取到

(4)能向客户端推送消息

(5)不能直接操作 DOM

(6)异步实现,内部大都是通过 Promise 实现

Serviceworker的使用流程可以简单总结为注册–安装–激活。

  • 安装时,serviceworker将我们指定的静态资源进行缓存(即预缓存),如果是实时的动态内容,则使用到了serviceworker的拦截HTTP请求响应的特性了。

  • serviceworker拦截http请求,首先去检查请求的资源在缓存中是否存在,如果存在,则直接从缓存中调用,而且即便是无网络情况下,serviceworker也能调用缓存中的资源。如果缓存中没有请求的资源,则通过网络去服务器上检索,而且在找到并响应时,serviceworker会将其存入缓存中,以备下次再请求时直接从缓存中调用。

参考链接:https://www.cnblogs.com/webdeve/p/9546079.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值