 |
-- 會員 / 註冊 --
|
|
|
|
深入淺出Electron:原理、工程與實踐 ( 簡體 字) |
作者:劉曉倫 | 類別:1. -> 程式設計 -> 綜合 |
譯者: |
出版社:機械工業出版社 | 3dWoo書號: 55464 詢問書籍請說出此書號!【缺書】 NT售價: 495 元 |
出版日:1/1/2022 |
頁數:315 |
光碟數:0 |
|
站長推薦:  |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787111696094 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:這是一本能幫助讀者夯實Electron基礎進而開發出穩定、健壯的Electron應用的著作。 書中對Electron的工作原理、大型工程構建、常見技術方案、周邊生態工具等進行了細致、深入地講解。 工作原理維度: 對Electron及其周邊工具的原理進行了深入講解,包括Electron依賴包的原理、Electron原理、electron-builder的原理等。 工程構建維度: 講解了如何駕馭和構建一個大型Electron工程,包括使用各種現代前端構建工具構建Electron工程、自動化測試、編譯和調試Electron源碼等。 技術方案維度: 總結了實踐過程中遇到的一些技術難題以及應對這些難題的技術方案,包括跨進程消息總線、窗口池、大數據渲染、點對點通信等。 周邊工具維度: 作者根據自己的“踩坑”經驗和教訓,有針對性地講解了大量Electron的周邊工具、庫和技術,涉及Qt開發框架、C++語言、Node.js框架甚至Vite構建工具等,幫助讀者拓寬技術廣度,掌握開發Electron應用需要的全棧技術。 |
目錄:第一部分 原理 第1章 Electron包原理解析 3 1.1 安裝失敗 3 1.2 npm鉤子 4 1.3 鏡像策略 6 1.4 緩存策略 9 1.5 注入命令 11 1.6 共享環境變量 13 1.7 合適的版本 15 第2章 Electron原理解析 17 2.1 Chromium原理 17 2.2 Node.js原理 20 2.3 源碼結構 23 2.4 主進程Node.js環境 25 2.5 公開API 27 2.6 不同進程不同的API 31 2.7 加載應用入口腳本 32 2.8 提供系統底層支持 34 2.9 解析asar文件 37 2.10 渲染進程Node.js環境 41 2.11 支持不同的操作系統 42 2.12 進程間通信 45 2.13 頁面事件 48 第3章 electron-builder原理解析 52 3.1 使用方法 52 3.2 原理介紹 53 3.3 偽交叉編譯 57 3.4 輔助工具app-builder 59 3.5 為生產環境安裝依賴 61 3.6 生成asar 62 3.7 修改可執行程序 63 3.8 NSIS介紹 66 3.9 生成安裝包 68 第4章 electron-updater原理解析 71 4.1 使用方法 71 4.2 如何校驗新版本的安裝包 73 4.3 Windows應用升級原理 75 4.4 Mac應用升級原理 78 第5章 其他重要原理 80 5.1 緩存策略與控制 80 5.2 V8腳本執行原理 83 5.3 V8垃圾收集原理 87 第二部分 工程 第6章 使用Vite構建Electron項目 91 6.1 Vite為什么如此之快 91 6.2 大型Electron工程結構 92 6.3 定義啟動腳本 93 6.4 啟動開發服務 95 6.5 設置環境變量 96 6.6 構建主進程代碼 98 6.7 啟動Electron子進程 100 6.8 配置調試環境 102 6.9 打包源碼 104 6.10 打包依賴 106 6.11 制成安裝程序 108 6.12 引入TypeScript支持 111 第7章 使用webpack構建Electron項目 113 7.1 需求起源 113 7.2 準備環境 114 7.3 編譯主進程代碼 116 7.4 啟動多入口頁面調試服務 117 7.5 啟動Electron子進程 120 7.6 制成安裝包 121 7.7 注冊應用內協議 123 第8章 使用Rollup構建Electron項目 125 8.1 Rollup與Svelte 125 8.2 準備開發環境 127 8.3 制成安裝包 130 第9章 自動化測試 134 9.1 集成Spectron及Spectron原理 134 9.2 在Jest測試框架中使用Spectron 137 第10章 編譯與調試Electron源碼 141 10.1 build-tools構建工具介紹 141 10.2 手工構建Electron源碼 142 10.3 構建不同版本的Electron 150 10.4 調試Electron源碼 151 10.5 調試崩潰報告 156 第11章 應用分發 162 11.1 源碼混淆 162 11.2 應用簽名 165 11.3 靜默安裝與開機自啟 168 11.4 自定義安裝畫面 170 11.5 軟件防殺 173 第12章 逆向分析 174 12.1 用戶安裝目錄 174 12.2 用戶數據目錄 175 12.3 注冊表鍵值 177 12.4 自研逆向調試工具 178 第13章 其他工程要點 183 13.1 使用D8調試工具 183 13.2 內存消耗監控 185 13.3 子應用管控 189 第三部分 實踐 第14章 跨進程消息總線 195 14.1 前端事件機制 195 14.2 Node.js的事件機制 197 14.3 Electron進程間通信 198 14.4 跨進程事件 200 14.5 使用Promise封裝事件 203 14.6 基于HTML API的跨進程事件 205 14.7 跨進程通信帶來的問題 207 第15章 窗口池 209 15.1 窗口渲染過慢 209 15.2 構建窗口池 210 15.3 構建窗口實例 212 15.4 通用的窗口標題欄 214 15.5 消費窗口池中的窗口 215 15.6 模擬模態窗口 216 第16章 原生模塊 219 16.1 需求起源 219 16.2 原生模塊開發方式 221 16.3 傳統原生模塊開發 223 16.4 使用Node-API開發原生模塊 225 16.5 Node-API進階 229 16.6 Electron環境下的原生模塊 233 第17章 應用控制 236 17.1 應用單開 236 17.2 注冊喚起協議 237 17.3 喚起外部應用 238 17.4 常規截圖方案介紹 239 17.5 使用第三方截圖庫 241 第18章 Electron與Qt的整合 245 18.1 需求起源 245 18.2 命名管道服務端 247 18.3 命名管道客戶端 250 18.4 通信協議 253 18.5 入口應用配置 256 18.6 應用退出的事件順序 258 18.7 關閉窗口的問題 260 第19章 大數據渲染 262 19.1 常規無限滾動方案介紹 262 19.2 DOM結構與樣式 265 19.3 模擬滾動條 267 19.4 處理滾動事件 268 19.5 滾動條的顯隱動效 270 19.6 內置的數據持久化能力 271 第20章 點對點通信 274 20.1 WebRTC原理 274 20.2 構建WebRTC服務器 275 20.3 發送超大文件 276 20.4 接收超大文件 280 第21章 加密信息提取 283 21.1 需求起源 283 21.2 分析調試源碼 284 21.3 暴露解密方法 286 21.4 轉發請求 287 21.5 注入腳本 288 21.6 監控cookie 289 第22章 其他實踐指導 292 22.1 分析首屏加載時間 292 22.2 模擬弱網環境 294 22.3 數據存儲方案性能對比 296 22.4 加載本地圖片 302 22.5 桌面端編程的生態演化 302 22.6 Electron的競爭對手 304 |
序: |
|