本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
图书基本信息 | |
图书名称 | PWA实战:面向下一代的Progressive Web APP(博文视点出品) |
作者 | (美)DeanAlanHume(迪恩·艾伦·休姆) |
定价 | 69元 |
出版社 | 电子工业出版社 |
ISBN | 9787121341946 |
出版日期 | 2018-06-01 |
字数 | 219000 |
页码 | 174 |
版次 | |
装帧 | 平装 |
开本 | 16开 |
商品重量 |
内容提要 | |
Progressive Web App(PWA)是由谷歌提出的一整套技术解决方案,它致力于为Web提供出色的用户体验,并体现了渐进增强原则。作为为数不多的实战入门用书,《PWA实战:面向下一代的Progressive Web App》旨在通过大量清晰示例来介绍PWA的主要特性。全书一共由五个部分组成:靠前部分介绍PWA的概念及解锁PWA应用的关键-Service Worker,第二部分介绍如何构建响应速度更快的Web应用,第三部分介绍如何构建更吸引人的Web应用,第四部分介绍如何构建应对各种复杂网络的Web应用,第五部分介绍PWA的发展前景。本书适合Web开发人员及前端技术爱好者阅读,稍有HTML、CSS和JavaScript基础学习效果更佳。 |
目录 | |
序XIV 前言XV 致谢XVI 关于本书XVII 第1部分定义PWA 章理解PWA3 1.1PWA有什么优势3 1.2PWA基础5 构建PWA的业务场景6 1.3ServiceWorker:PWA的关键8 1.3.1理解ServiceWorker9 1.3.2ServiceWorker生命周期10 1.3.3ServiceWorker基础示例11 1.3.4安全考虑13 1.4性能洞察:Flipkart14 1.5总结15 第2章构建PWA的步16 2.1建立在现有基础之上16 2.2构建PWA的前端架构方式18 2.2.1应用外壳架构18 2.2.2性能优势21 2.2.3应用外壳架构实战22 2.3逐步剖析现有的PWA23 2.3.1前端架构24 2.3.2缓存25 2.3.3离线浏览26 2.3.4观感27 2.3.5 终产品27 2.4总结28 第2部分更快的Web应用 第3章缓存31 3.1缓存基础31 3.2ServiceWorker缓存基础34 3.2.1在ServiceWorker安装过程中预缓存34 3.2.2拦截并缓存38 3.2.3整合所有代码42 3.3缓存前后的性能比对45 3.4深入ServiceWorker缓存46 3.4.1对文件进行版本控制46 3.4.2处理额外的查询参数48 3.4.3需要多少内存48 3.4.4将缓存提升到一个新的高度:Workbox49 3.5总结51 第4章拦截网络请求52 4.1FetchAPI52 4.2fetch事件55 ServiceWorker生命周期56 4.3fetch实战58 4.3.1使用WebP图片的示例58 4.3.2使用Save-Data请求头的示例61 4.4总结65 第3部分吸引人的Web应用 第5章观感69 5.1Web应用清单69 5.2添加到主屏幕71 5.2.1定制图标74 5.2.2添加启动页面75 5.2.3设置启动样式和URL76 5.3添加到主屏幕的高级用法77 5.3.1取消提示78 5.3.2判断使用情况78 5.3.3推迟提示79 5.4调试清单文件81 5.5总结82 第6章推送通知84 6.1与用户互动84 6.2参与度洞见:WeatherChannel86 6.3浏览器支持87 6.4个推送通知88 6.4.1订阅通知89 6.4.2发送通知92 6.4.3接收通知并与之互动93 6.4.4取消订阅97 6.5第三方推送通知98 6.6总结99 第4部分有弹性的Web应用 第7章离线浏览103 7.1解锁缓存103 7.2提供离线文件104 7.3几个需要注意的问题109 7.4缓存是非性的110 7.5离线用户体验110 7.6跟踪离线使用情况113 7.7总结114 第8章构建更富弹性的应用116 8.1现代网站所面临的网络问题116 理解lie-fi和单点故障117 8.2ServiceWorker的营救119 8.3使用Workbox123 8.4总结125 第9章保持数据同步126 9.1理解后台同步126 9.1.1准备开始127 9.1.2ServiceWorker130 9.1.3提供备用方案132 9.1.4测试134 9.2通知用户134 9.3定期同步137 9.4总结138 第5部分PWA的未来 0章流式数据141 10.1理解WebStream141 10.1.1WebStream有什么优势142 10.1.2可读流143 10.2基础示例144 10.3页面渲染加速146 10.4WebStreamAPI的未来151 10.5总结152 1章PWA故障排除153 11.1添加到主屏幕153 11.1.1如何得知网站上有多少用户使用了添加到主屏幕功能153 11.1.2添加到主屏幕操作栏对我来说没有任何意义,如何禁用或隐藏它154 11.1.3求助,我的添加到主屏幕(A2HS)功能没效果155 11.1.4如果用户安装了我的Web应用到他们的主屏幕上,但他们又清除了Chrome的缓存,那么我的网站缓存的资源也会被清除155 11.1.5我不确定manifest.json文件是否正常工作,那么该如何进行测试155 11.2缓存156 11.2.1我在ServiceWorker文件中使用代码将资源添加到缓存中,但是当我更改文件时,缓存并没有更新,而且即使刷新了页面,看到的仍是旧版本的文件,这是为什么157 11.2.2如何对ServiceWorker代码进行单元测试158 11.2.3PWA可以使用用户设备上的多少内存158 11.2.4缓存的资源似乎每隔一段时间就会过期,如何确保它们性地缓存呢158 11.2.5如何处理查询字符串和缓存159 11.3调试ServiceWorker的具体问题159 11.3.1ServiceWorker文件多久更新一次160 11.3.2ServiceWorker文件出错,但我不知道出错的原因,那么如何调试它160 11.3.3求助,我做了各种尝试,但由于一些令人抓狂的原因,我的ServiceWorker逻辑似乎从未执行161 11.3.4我已经在ServiceWorker文件中添加代码来处理推送通知,但是如何在不写服务端代码的情况下进行快速测试呢162 11.3.5我已经构建了离线Web应用,但是现在无法得知用户是如何使用的,那么如何追踪用户的使用情况呢162 11.4总结163 2章前程似锦164 12.1引言164 12.2Web蓝牙165 12.3Web分享API166 12.4支付请求API169 12.5硬件访问172 12.6硬件:形状检测API172 12.7接下来呢173 12.8总结174 |
作者介绍 | |
DEAN ALAN HUME 是一名作者、博客作者、软件开发者,同时也是 Google 开发专家。他写过很多文章,并发表过几十篇演讲,同时还是《Fast ASP.NET Websites》(Manning, 2013)和《Building Great Startup Teams》(Blurb, 2017) 的作者。他还为《A Career On The Web: On the Road to Success》(Smashing Magazine, 2015) 一书中做出了贡献。作为一名软件开发人员,Dean 对 Web 性能充满热情,并且经常在他的博客 deanhume. 上撰写软件开发相关的文章。他的爱好广泛,包括冲浪、滑雪、拳击和参加三项全能运动。目前,他正在学习啤酒酿造。 郑丰彧,前端工程师,喜欢学习与分享,崇尚开源,热爱前端新技术的推广与应用。创建了 RxJS 中文社区和知乎专栏《RxJS 学习》,翻译作品有《Angular教程》《RxJS中文文档》和 《MobX中文文档》。GitHub: @SangKa 。 |
编辑推荐 | |
网站可以离线工作,近乎瞬时的加载速度,在各种带宽条件下平滑切换——不使用 PWA 的话,这一切都只是幻想。PWA 使用诸如推送通知、智能缓存和 Service Workers 这样的现代浏览器功能来管理数据、减少服务端使用、适应不稳定链接,并让你拥有更多控制权利以取悦客户。更棒的是,构建 PWA 只需要 JavaScript、HTML 和 本书中所能学到的易于掌握的技术。通过本书,可以学习到 PWA 的设计,以及用来构建快速、可靠网站的技术。使用 PWA 技术的方式有很多种,本书的实战教程提供了有趣的独立示例,你完全可以挑选自己感兴趣的部分阅读。你还将学习到 Service Worker 是如何极大地提升网站的加载速度,如何有效地使用推送通知,以及如何创建可以离线工作的网站。本书包括: |