PWA 入門與實踐

王樂平 編著

  • 出版商: 機械工業
  • 出版日期: 2020-04-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • 頁數: 236
  • 裝訂: 平裝
  • ISBN: 7111652584
  • ISBN-13: 9787111652588
  • 立即出貨

買這商品的人也買了...

商品描述

PWA是Google提出的移動Web應用程序方向,它為開發混合應用的開發者提供了一個新方向,
它結合了Web和原生應用程序的優勢,提供了更好的用戶體驗。
PWA可以在幾個小時內將你的網站或應用程序轉換,從而提供Web 和原生APP 的便利。

本書系統介紹PWA基本技術與應用,結合大量案例來講解如何搭建混合應用。
並用一個綜合案例展示了這些技術的應用方法,可幫助讀者快速入門PWA,搭建自己的混合型應用。

主要內容包括:
●第1章介紹PWA的前世今生及生態環境;
●第2章介紹PWA的一些前置技術和預備知識,為後面的學習打下基礎;
●第3章詳細講解PWA最核心的部分Service Worker的各個知識點、注意事項及實踐;
●第4章介紹PWA的API,包含安裝到桌面、新一代網絡請求、消息通知、後台同步、離線緩存、消息推送等;
●第5章介紹PWA使用過程中的一些配套工具,包括調試、評測、提效等;
●第6章講解PWA的實踐部分,針對不同的功能需求,按功能劃分進行案例講解;
●第7章介紹Web的系統集成能力。

作者簡介

王樂平

前端工程師,W3C成員,CSDN博客專家,目前就職於阿里巴巴。
專注於Web技術,參與過許多高流量Web項目的設計和開發,擁有豐富的Web前端開發經驗,對PWA有比較深入的理解和實踐經驗。

目錄大綱

前言

●第1章初識PWA1
1.1 背景1
1.2 PWA概述4
1.2.1 快速5
1.2.2 集成5
1.2.3 可靠6
1.2.4 有吸引力7
1.2.5 PWA的佈局結構7
1.3 應用程序與PWA8
1.3.1 能力8
1.3.2 開發成本8
1.3.3 安裝包大小9
1.3.4 推廣成本9
1.3.5 系統結構9
1.3.6 綜合10
1.4 PWA的生態支持10
1.4.1 瀏覽器對PWA的支持11
1.4.2 PWA的生態11
1.5 成功案例12
1.5.1 Twitter12
1.5.2 HOUSING.com12
1.5.3 蘭蔻13
1.5.4 星巴克13
1.6 環境準備13
1.6.1 瀏覽器13
1.6.2 Node.js環境13
1.6.3 HTTP Server14
1.6.4 調試工具14
1.7 第一個PWA16
1.7.1 創建首頁16
1.7.2 註冊Service Worker17
1.7.3 網絡層攔截圖片19
1.7.4 定制404 頁面19
1.7.5 離線可用21
1.7.6 添加到主屏幕22
1.8 本章小結24

●第2章預備知識25
2.1 JavaScript Module25
2.1.1 JavaScript 模塊化歷史25
2.1.2 什麼是JavaScript Module26
2.1.3 瀏覽器中使用JavaScript Module29
2.1.4 為什麼要用JavaScript Module31
2.2 Promise31
2.2.1 背景31
2.2.2 概念32
2.2.3 構造函數32
2.2.4 實例方法33
2.2.5 靜態方法35
2.2.6 實例39
2.3 async / await40
2.3.1 async40
2.3.2 await42
2.3.3 async / await的優勢43
2.4 Web Worker44
2.4.1 背景44
2.4.2 簡介44
2.4.3 主線程API46
2.4.4 Worker線程API48
2.4.5 實例49
2.5 本章小結51

●第3章PWA的核心橋樑:Service Worker52
3.1 Service Worker的結構52
3.1.1 ServiceWorkerContainer 接口53
3.1.2 ServiceWorkerRegistration 接口58
3.1.3 ServiceWorker 接口60
3.1.4 ServiceWorkerGlobalScope接口62
3.2 Service Worker 的生命週期68
3.2.1 腳本的生命週期68
3.2.2 線程的生命週期69
3.2.3 線程退出70
3.2.4 更新Service Worker文件的條件71
3.2.5 調試生命週期71
3.3 本章小結72

●第4章核心技術73
4.1 Manifest 應用清單73
4.1.1 簡介73
4.1.2 字段說明74
4.1.3 安裝條件78
4.1.4 顯示安裝橫幅78
4.1.5 自定義安裝時機80
4.1.6 應用的更新81
4.1.7 iOS 上的適配82
4.1.8 兼容適配庫83
4.2 Fetch 網絡功能83
4.2.1 Fetch簡介83
4.2.2 Request86
4.2.3 Headers88
4.2.4 Response93
4.2.5 Body95
4.2.6 實例95
4.3 Notification 消息通知98
4.3.1 簡介98
4.3.2 接口信息99
4.3.3 實例102
4.4 Sync後台同步104
4.4.1 SyncManager接口104
4.4.2 Sync 流程105
4.4.3 使用場景107
4.5 Cache離線存儲110
4.5.1 簡介110
4.5.2 CacheStorage111
4.5.3 Cache112
4.5.4 緩存空間問題115
4.5.5 opaque 響應緩存問題115
4.6 Push消息推送117
4.6.1 簡介117
4.6.2 接口117
4.6.3 訂閱實現121
4.6.4 推送協議124
4.6.5 VAPID 密鑰的生成126
4.6.6 實例128
4.6.7 常見問題129
4.7 本章小結130

●第5章配套工具131
5.1 PWA工具箱:Workbox131
5.1.1 CLI模式131
5.1.2 手寫模式138
5.1.3 Workbox 路由139
5.1.4 Workbox 插件141
5.1.5 實例141
5.2 離線數據庫:IndexedDB145
5.2.1 接口145
5.2.2 操作146
5.2.3 在Service Worker 中使用IndexedDB157
5.2.4 更簡單的IndexedDB158
5.3 評測報告:Lighthouse160
5.3.1 簡介160
5.3.2 打開Lighthouse161
5.3.3 測試PWA161
5.3.4 測試結果161
5.4 調試工具:DevTools163
5.4.1 在Chrome上調試163
5.4.2 在Safari上調試169
5.4.3 在Firefox上調試170
5.4.4 調試小結171
5.5 本章小結171

●第6章實踐方案172
6.1 接入Service Worker 172
6.1.1 註冊方案172
6.1.2 狀態同步方案175
6.1.3 Service Worker 開關方案176
6.1.4 錯誤收集177
6.2 安裝網站到桌面178
6.2.1 為網站增加桌面能力178
6.2.2 新閉環方案180
6.2.3 新閉環方案實現181
6.3 消息通信182
6.3.1 窗口向Service Worker 線程通信182
6.3.2 Service Worker線程向窗口通信186
6.4 數據離線189
6.4.1 離線處理時機189
6.4.2 離線策略193
6.5 推送通知197
6.5.1 Web Push 庫的選擇197
6.5.2 應用服務器後端搭建198
6.5.3 前端頁面搭建200
6.5.4 效果202
6.5.5 無法推送/訂閱203
6.6 改造網站為PWA203
6.6.1 準備203
6.6.2 PWA檢測204
6.6.3 PWA改造204
6.6.4 重新評測網站215
6.7 本章小結215

●第7章系統集成216
7.1 系統集成項目組Fugu216
7.2 攝像頭和麥克風集成217
7.3 輸入集成224
7.4 設備特性集成228
7.5 定位集成231
7.6 本章小結235