封面
版权信息
序言
前言
第1章 初识 PWA
1.1 背景
1.2 PWA概述
1.2.1 快速
1.2.2 集成
1.2.3 可靠
1.2.4 有吸引力
1.2.5 PWA的布局结构
1.3 应用程序与PWA
1.3.1 能力
1.3.2 开发成本
1.3.3 安装包大小
1.3.4 推广成本
1.3.5 系统结构
1.3.6 综合
1.4 PWA的生态支持
1.4.1 浏览器对PWA的支持
1.4.2 PWA的生态
1.5 成功案例
1.5.1 Twitter
1.5.2 HOUSING.com
1.5.3 兰蔻
1.5.4 星巴克
1.6 环境准备
1.6.1 浏览器
1.6.2 Node.js环境
1.6.3 HTTP Server
1.6.4 调试工具
1.7 第一个 PWA
1.7.1 创建首页
1.7.2 注册 Service Worker
1.7.3 网络层拦截图片
1.7.4 定制 404 页面
1.7.5 离线可用
1.7.6 添加到主屏幕
1.8 本章小结
第2章 预备知识
2.1 JavaScript Module
2.1.1 JavaScript 模块化历史
2.1.2 什么是 JavaScript Module
2.1.3 浏览器中使用 JavaScript Module
2.1.4 为什么要用 JavaScript Module
2.2 Promise
2.2.1 背景
2.2.2 概念
2.2.3 构造函数
2.2.4 实例方法
2.2.5 静态方法
2.2.6 实例
2.3 async / await
2.3.1 async
2.3.2 await
2.3.3 async / await的优势
2.4 Web Worker
2.4.1 背景
2.4.2 简介
2.4.3 主线程 API
2.4.4 Worker线程API
2.4.5 实例
2.5 本章小结
第3章 PWA的核心桥梁:Service Worker
3.1 Service Worker的结构
3.1.1 ServiceWorkerContainer 接口
3.1.2 ServiceWorkerRegistration 接口
3.1.3 ServiceWorker 接口
3.1.4 ServiceWorkerGlobalScope 接口
3.2 Service Worker 的生命周期
3.2.1 脚本的生命周期
3.2.2 线程的生命周期
3.2.3 线程退出
3.2.4 更新Service Worker文件的条件
3.2.5 调试生命周期
3.3 本章小结
第4章 核心技术
4.1 Manifest 应用清单
4.1.1 简介
4.1.2 字段说明
4.1.3 安装条件
4.1.4 显示安装横幅
4.1.5 自定义安装时机
4.1.6 应用的更新
4.1.7 iOS 上的适配
4.1.8 兼容适配库
4.2 Fetch 网络功能
4.2.1 Fetch简介
4.2.2 Request
4.2.3 Headers
4.2.4 Response
4.2.5 Body
4.2.6 实例
4.3 Notification 消息通知
4.3.1 简介
4.3.2 接口信息
4.3.3 实例
4.4 Sync后台同步
4.4.1 SyncManager接口
4.4.2 Sync 流程
4.4.3 使用场景
4.5 Cache离线存储
4.5.1 简介
4.5.2 CacheStorage
4.5.3 Cache
4.5.4 缓存空间问题
4.5.5 opaque 响应缓存问题
4.6 Push消息推送
4.6.1 简介
4.6.2 接口
4.6.3 订阅实现
4.6.4 推送协议
4.6.5 VAPID 密钥的生成
4.6.6 实例
4.6.7 常见问题
4.7 本章小结
第5章 配套工具
5.1 PWA工具箱:Workbox
5.1.1 CLI模式
5.1.2 手写模式
5.1.3 Workbox 路由
5.1.4 Workbox 插件
5.1.5 实例
5.2 离线数据库:IndexedDB
5.2.1 接口
5.2.2 操作
5.2.3 在Service Worker 中使用 IndexedDB
5.2.4 更简单的 IndexedDB
5.3 评测报告:Lighthouse
5.3.1 简介
5.3.2 打开 Lighthouse
5.3.3 测试 PWA
5.3.4 测试结果
5.4 调试工具:DevTools
5.4.1 在Chrome上调试
5.4.2 在Safari上调试
5.4.3 在Firefox上调试
5.4.4 调试小结
5.5 本章小结
第6章 实践方案
6.1 接入Service Worker
6.1.1 注册方案
6.1.2 状态同步方案
6.1.3 Service Worker 开关方案
6.1.4 错误收集
6.2 安装网站到桌面
6.2.1 为网站增加桌面能力
6.2.2 新闭环方案
6.2.3 新闭环方案实现
6.3 消息通信
6.3.1 窗口向 Service Worker 线程通信
6.3.2 Service Worker 线程向窗口通信
6.4 数据离线
6.4.1 离线处理时机
6.4.2 离线策略
6.5 推送通知
6.5.1 Web Push 库的选择
6.5.2 应用服务器后端搭建
6.5.3 前端页面搭建
6.5.4 效果
6.5.5 无法推送/订阅
6.6 改造网站为PWA
6.6.1 准备
6.6.2 PWA检测
6.6.3 PWA改造
6.6.4 重新评测网站
6.7 本章小结
第7章 系统集成
7.1 系统集成项目组Fugu
7.2 摄像头和麦克风集成
7.2.1 音频和视频的捕获
7.2.2 视频流的截图
7.2.3 视频流下载
7.3 输入集成
7.3.1 语音识别
7.3.2 剪切板操作
7.4 设备特性集成
7.4.1 网络类型及速度信息
7.4.2 网络状态信息
7.4.3 电池状态信息
7.4.4 设备内存信息
7.5 定位集成
7.5.1 地理定位
7.5.2 设备位置
7.6 本章小结
更新时间:2020-05-14 18:29:53