●章認識Electron 1
1.1Electron的由來 1
1.2基於Electron的應用 4
1.3Electron的生態 5
1.4Electron的優勢 5
1.5Electron的不足 6
1.6未來的競爭者PWA 7
1.7本章小結 9
第2章輕松入門 10
2.1搭建開發環境 10
2.2創建窗口界面 13
2.3啟動窗口 14
2.4引用JavaScript 16
2.5Electron API演示工具 19
2.6試驗工具Electron Fiddle 20
2.7本章小結 22
第3章主進程和渲染進程 23
3.1區分主進程與渲染進程 23
3.2進程調試 25
3.2.1調試主進程 25
3.2.2調試渲染進程 27
3.3進程互訪 29
3.3.1渲染進程訪問主進程對像 29
3.3.2渲染進程訪問主進程類型 30
3.3.3渲染進程訪問主進程自定義內容 31
3.3.4主進程訪問渲染進程對像 32
3.4進程間消息傳遞 32
3.4.1渲染進程向主進程發送消息 32
3.4.2主進程向渲染進程發送消息 34
3.4.3渲染進程之間消息傳遞 36
3.5remote模塊的局限性 36
3.6本章小結 38
第4章引入現代前端框架 39
4.1引入webpack 39
4.1.1認識webpack 39
4.1.2配置webpack 40
4.1.3主進程入口程序 42
4.1.4渲染進程入口程序 43
4.1.5自定義入口頁面 45
4.1.6使用jQuery 46
4.2引入Angular 46
4.2.1認識Angular 46
4.2.2環境搭建 47
4.2.3項目結構 48
4.3引入React 48
4.3.1認識React 48
4.3.2環境搭建 49
4.3.3項目結構 50
4.3.4項目引薦 50
4.4引入Vue 50
4.4.1認識Vue 50
4.4.2環境搭建 51
4.4.3項目結構 52
4.4.4調試配置 53
4.5本章小結 55
第5章窗口 56
5.1窗口的常用屬性及應用場景 56
5.2窗口標題欄和邊框 58
5.2.1自定義窗口的標題欄 58
5.2.2窗口的控制按鈕 62
5.2.3窗口優選化狀態控制 63
5.2.4防抖與限流 65
5.2.5記錄與恢復窗口狀態 67
5.2.6適時地顯示窗口 68
5.3不規則窗口 69
5.3.1創建不規則窗口 69
5.3.2點擊穿透透明區域 71
5.4窗口控制 72
5.4.1阻止窗口關閉 72
5.4.2多窗口競爭資源 74
5.4.3模態窗口與父子窗口 75
5.4.4Mac繫統下的關注點 76
5.5本章小結 78
第6章界面 79
6.1頁面內容 79
6.1.1獲取webContents實例 79
6.1.2頁面加載事件及觸發順序 81
6.1.3頁面跳轉事件 82
6.1.4單頁應用中的頁內跳轉 83
6.1.5頁面縮放 84
6.1.6渲染海素 85
6.2頁面容器 88
6.2.1webFrame 88
6.2.2webview 90
6.2.3BrowserView 91
6.3腳本注入 93
6.3.1通過preload參數注入腳本 93
6.3.2通過executeJavaScript注入腳本 97
6.3.3禁用窗口的beforeunload事件 99
6.4頁面動效 100
6.4.1使用CSS控制動畫 100
6.4.2使用JavaScript控制動畫 101
6.5本章小結 102
第7章數據 103
7.1使用本地文件持久化數據 103
7.1.1用戶數據目錄 103
7.1.2讀寫本地文件 105
7.1.3值得推薦的第三方庫 106
7.2使用瀏覽器技術持久化數據 107
7.2.1瀏覽器數據存儲技術對比 107
7.2.2使用第三方庫訪問IndexedDB 108
7.2.3讀寫受限訪問的Cookie 110
7.2.4清空瀏覽器緩存 112
7.3使用SQLite持久化數據 112
7.4本章小結 115
第8章繫統 116
8.1繫統對話框 116
8.1.1使用繫統文件對話框 116
8.1.2關於對話框 118
8.2菜單 119
8.2.1窗口菜單 119
8.2.2HTML右鍵菜單 121
8.2.3繫統右鍵菜單 124
8.2.4自定義繫統右鍵菜單 125
8.3快捷鍵 126
8.3.1監聽網頁按鍵事件 126
8.3.2監聽全局按鍵事件 126
8.4托盤圖標 127
8.4.1托盤圖標閃爍 127
8.4.2托盤圖標菜單 128
8.5剪切板 129
8.5.1把圖片寫入剪切板 129
8.5.2讀取並顯示剪切板裡的圖片 130
8.6繫統通知 131
8.6.1使用HTML API發送繫統通知 131
8.6.2主進程內發送繫統通知 132
8.7其他 133
8.7.1使用繫統默認應用打開文件 133
8.7.2接收拖拽到窗口中的文件 134
8.7.3使用繫統字體 135
8.7.4最近打開的文件 137
8.8本章小結 138
第9章通信 139
9.1與Web服務器通信 139
9.1.1禁用同源策略以實現跨域 139
9.1.2Node.js訪問HTTP服務的不足 141
9.1.3使用WebSocket通信 142
9.1.4截獲並修改網絡請求 144
9.2與繫統內其他應用通信 146
9.2.1Electron應用與其他應用通信 146
9.2.2網頁與Electron應用通信 148
9.3自定義協議(protocol) 150
9.4使用socks5代理 152
9.5本章小結 153
0章硬件 154
10.1屏幕 154
10.1.1獲取擴展屏幕 154
10.1.2在自助服務機中使用Electron 156
10.2音視頻設備 158
10.2.1使用攝像頭和麥克風 158
10.2.2錄屏 159
10.3電源 160
10.3.1電源的基本狀態和事件 160
10.3.2監控繫統掛起與鎖屏事件 161
10.3.3阻止繫統鎖屏 162
10.4打印機 162
10.4.1控制打印行為 162
10.4.2導出PDF 164
10.5硬件信息 165
10.5.1獲取目標平臺硬件信息 165
10.5.2使用硬件串號控制應用分發 166
10.6本章小結 170
1章調測 171
11.1測試 171
11.2調試 177
11.3日志 188
11.4本章小結 193
2章安全 194
12.1保護源碼 195
12.2保護客戶 204
12.3保護網絡 206
12.4保護數據 211
12.5提升穩定性 214
12.6本章小結 216
3章發布 218
13.1生成圖標 218
13.2生成安裝包 219
13.3代碼簽名 221
13.4自動升級 222
13.5本章小結 224
4章實戰:自媒體內容發布工具 225
14.1項目需求 225
14.2項目架構 226
14.3核心剖析 229
14.4輔助功能 237
14.5本章小結 240
附錄AMac代碼簽名 242
內容簡介
本書以實戰為導向,講解了如何用Electron結合現代前端技術來開發桌面應用。不僅全面介紹了Electron入門需要掌握的功能和原理,而且還針對Electron開發中的重點和難點進行了重點講解,旨在幫助讀者實現快速進階。作者是Electron領域的早期實踐者,項目經驗很好豐富,本書內容得到了來自阿裡等大企業的一線專家的高度評價。本書遵循漸進式的原則逐步傳遞知識給讀者,書中以Electron知識為主線並對現代前端知識進行了有序的整合,對易發問題從深層原理的角度進行講解,對普適需求以實踐的方式進行講解,同時還介紹了Electron生態內的大量很好組件和項目。全書一共14章: 章講解Electron因何而來,Electron的生態、優勢和不足,以及Electron未來的競爭者PWA技術: 第2章帶領讀者新建了一個簡單的Electron項目,同時為讀者介紹了一些Electron的基礎知識; 第3章......