《PWA开发实战》是由人民邮电出版社有限公司出版的一本关于Web开发方面的书籍,作者是塔勒·爱特尔,主要介绍了关于PWA开发、PWA实战方面的知识内容,目前在Web开发类书籍综合评分为:7.3分。
书籍介绍
渐进式Web运用(PWA)综合性了原生运用的优点及其Web的新作用和优势,另外避开了原生运用的难题,能为客户出示全新升级感受,是构建迅速、靠谱网址的神器。这书根据将一个编造的简单网站逐渐更新改造成优秀的PWA,协助读者学习培训怎样利用以前专归属于原生运用的特性来开发设计Web运用,使之可以迅速载入、消息推送通告、线下浏览、有着大量决策权。*了解serviceworker的原理,并利用它建立在一切网络状态下都能一瞬间起动的网址*建立像原生运用一样可从手机上主屏起动的全屏幕Web运用*根据消息推送信息招回客户*相拥线下优先选择,构建可雅致地解决数据连接遗失的Web运用*探寻PWA给客户体验产生的机遇与挑战与挑战
这书根据操作过程协助读者深入地了解当代渐进式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