所有分类
  • 所有分类
  • 在线课堂
  • 精品课程
  • 课件资料
  • 标准资料
  • 资料手册
  • 图纸模型
文档家VIP会员升级

PWA开发实战 [以]Tal Ater 2019年版

PWA开发实战 

作者: [以]Tal Ater  

出版时间:2019年版 

内容简介 

  本书通过实际操作帮助读者透彻地理解现代渐进式 Web 应用开发,指导读者学会利用原生应用的特性构建 Web 应用。主要内容包括:某酒店网站构建全流程,开发渐进式 Web 应用时一些需要重点考虑的因素,离线优先的 Web 应用的原则,渐进式 Web 应用为用户界面带来的一些新挑战和新机会,等等。 

目录 

前言   xi 

第 1 章 渐进式Web 应用介绍 1 

1.1 Web 反击战 2 

1.2 当前的移动领域 2 

1.3 渐进式Web 应用的优势 4 

1.4 浏览器标签页、Web 和service worker 6 

第 2 章 你的第 一个service worker 8 

2.1 设置示例项目 8 

2.2 欢迎来到哥谭帝国酒店 9 

2.3 熟悉代码 10 

2.4 当前的离线体验 11 

2.5 创建你的第 一个service worker 13 

2.6 什么是渐进增强 16 

2.7 HTTPS 和service worker 16 

2.8 从Web 获取内容 17 

2.9 捕获离线请求 18 

2.10 创建HTML 响应 19 

2.11 理解service worker 作用域 21 

2.12 小结 22 

第3 章 CacheStorage API 23 

3.1 CacheStorage 是什么,不是什么 24 

3.2 决定何时进行缓存 24 

3.3 在CacheStorage 中存储请求 25 

3.4 从CacheStorage 中取回请求 26 

3.5 在示例应用缓存 27 

3.6 匹配每个请求的正确响应 29 

3.7 HTTP 缓存和HTTP 头 31 

3.8 小结 31 

第4 章 service worker 生命周期和缓存管理 33 

4.1 service worker 生命周期 36 

4.2 service worker 的生命周期与waitUntil 的重要性 38 

4.3 更新service worker 39 

4.4 为什么需要管理缓存 40 

4.5 缓存管理与清除旧缓存 42 

4.6 重用已缓存的响应 46 

4.7 配置服务器以提供正确的响应头部 47 

4.8 开发者工具 48 

4.8.1 控制台 48 

4.8.2 清除缓存并刷新 48 

4.8.3 检查CacheStorage 和IndexedDB 49 

4.8.4 网络节流与模拟离线情况 49 

4.8.5 Lighthouse 50 

4.9 小结 50 

第5 章 拥抱离线优先 51 

5.1 什么是离线优先 52 

5.2 常用缓存模式 53 

5.3 混合与匹配:创造新模式 55 

5.4 规划缓存策略 57 

5.5 实现缓存策略 59 

5.6 App shell 架构 68 

5.7 实现App shell 70 

5.8 解锁成就 72 

5.9 小结 73 

第6 章 使用IndexedDB 在本地存储数据 74 

6.1 什么是IndexedDB 75 

6.2 使用IndexedDB 77 

6.2.1 打开数据库连接 77 

6.2.2 数据库版本/ 修改对象存储 78 

6.2.3 添加数据到对象存储 79 

6.2.4 从对象存储中读取数据 80 

6.2.5 IndexedDB 版本管理 81 

6.2.6 使用游标读取对象 82 

6.2.7 创建索引 84 

6.2.8 使用索引读取数据 85 

6.2.9 限制游标的范围 86 

6.2.10 设置游标方向 87 

6.2.11 更新对象存储中的对象 87 

6.2.12 从对象存储删除对象 88 

6.2.13 从对象存储中删除所有对象 89 

6.2.14 处理冒泡IndexedDB 错误 89 

6.3 SQL 忍者的IndexedDB 90 

6.4 IndexedDB 实践 91 

6.5 promise 式的数据库 98 

6.6 IndexedDB 管理 103 

6.7 在service worker 中使用IndexedDB 104 

6.8 IndexedDB 生态系统 105 

6.8.1 PouchDB 105 

6.8.2 localForage 106 

6.8.3 Dexie.js 106 

6.8.4 IndexedDB Promised 107 

6.9 小结 107 

第7 章 使用后台同步保证离线功能 108 

7.1 后台同步是如何工作的 109 

7.2 SyncManager 111 

7.2.1 访问SyncManager 111 

7.2.2 注册事件 112 

7.2.3 sync 事件 112 

7.2.4 事件标签 112 

7.2.5 获取已注册sync 事件列表 113 

7.2.6 最后的机会 113 

7.3 传递数据给sync 事件 114 

7.3.1 在IndexedDB 中维护操作队列 114 

7.3.2 在IndexedDB 中维护请求队列 116 

7.3.3 传递数据给sync 事件标签 118 

7.4 给应用添加后台同步 118 

7.5 小结 125 

第8 章 使用postMessage() 在service worker 和页面之间通信 126 

8.1 窗口向service worker 通信 127 

8.2 service worker 向所有打开的窗口通信 128 

8.3 service worker 向特定窗口通信 130 

8.4 使用MessageChannel 保持通信渠道打开 131 

8.5 窗口间的通信 133 

8.6 从sync 事件向页面传递消息 136 

8.7 小结 137 

第9 章 可安装的Web 应用:占领主屏先机 138 

9.1 可安装的Web 应用 139 

9.2 浏览器如何决定何时显示应用安装横条 140 

9.3 剖析Web 应用清单 141 

9.4 各端兼容性 145 

9.5 小结 146 

第 10 章 推送通知 147 

10.1 推送通知的生命周期 147 

10.1.1 Notification API 147 

10.1.2 Push API 148 

10.1.3 Push+Notification 150 

10.2 创建通知 150 

10.2.1 请求通知权限 150 

10.2.2 显示通知 153 

10.2.3 为哥谭帝国酒店添加通知支持 157 

10.3 为用户订阅推送事件 158 

10.3.1 生成VAPID 公钥和私钥 160 

10.3.2 生成GCM 密钥 161 

10.3.3 创建新订阅 162 

10.3.4 为哥谭帝国酒店用户订阅推送消息 164 

10.4 从服务端发送推送事件 166 

10.5 监听推送事件并显示通知 168 

10.6 小结 174 

第 11 章 渐进式Web 应用的用户体验 175 

11.1 优雅与信任 175 

11.2 从service worker 传递状态 176 

11.3 使用Progressive UI KITT 通信 178 

11.4 渐进式Web 应用中的常见消息 180 

11.4.1 缓存完成 180 

11.4.2 页面已缓存 180 

11.4.3 操作失败,但会在用户恢复连接时完成 181 

11.4.4 启用通知 181 

11.5 选择正确的用词 181 

11.6 不要直奔主题 182 

11.7 渐进式Web 应用的设计 184 

11.7.1 设计应该反映条件的变化 184 

11.7.2 设计应该适应运行环境 185 

11.7.3 设计应该适应每种媒介的特殊性 185 

11.7.4 设计应该向用户注入信心并通知用户 186 

11.7.5 设计应该帮助用户和企业实现目标 186 

11.8 负责安装提示 186 

11.9 使用RAIL 测量性能并实现高性能 187 

11.10 小结 189 

第 12 章 渐进式Web 应用的未来 190 

12.1 使用Payment Request API 接受支付请求 190 

12.2 使用Credential Management API 进行用户管理 192 

12.3 WebGL 实时图像处理 193 

12.4 未来的语音识别API 194 

12.5 使用WebVR 在浏览器中实现虚拟现实 194 

12.6 轻松共享应用 195 

12.7 流畅的媒体播放UI 196 

12.8 下一个伟大时代 197 

附录A service worker:采用ES2015 的大好时机 198 

附录B 全页间隙式广告 201 

附录C CORS 与NO-CORS 202 

关于作者 204 

关于封面 204 

 

书籍下载:

资源下载
资源下载
0
文档家VIP会员升级
没有账号?注册  忘记密码?

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录