包郵 Web開發(fā)經(jīng)典叢書ELECTRON跨平臺(tái)開發(fā)實(shí)戰(zhàn)
-
>
全國計(jì)算機(jī)等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應(yīng)用
-
>
決戰(zhàn)行測5000題(言語理解與表達(dá))
-
>
軟件性能測試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強(qiáng)教科書(完全版)(全彩印刷)
-
>
深度學(xué)習(xí)
Web開發(fā)經(jīng)典叢書ELECTRON跨平臺(tái)開發(fā)實(shí)戰(zhàn) 版權(quán)信息
- ISBN:9787302534891
- 條形碼:9787302534891 ; 978-7-302-53489-1
- 裝幀:平裝-膠訂
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
Web開發(fā)經(jīng)典叢書ELECTRON跨平臺(tái)開發(fā)實(shí)戰(zhàn) 本書特色
為macOS、Windows和Linux平臺(tái)創(chuàng)建應(yīng)用 使用原生操作系統(tǒng)API 使用諸如React等第三方框架 將應(yīng)用部署到Mac App Store 讀者需要具備一定的JavaScript和Node技能,但無須具有任何桌面應(yīng)用開發(fā)經(jīng)驗(yàn)。
Web開發(fā)經(jīng)典叢書ELECTRON跨平臺(tái)開發(fā)實(shí)戰(zhàn) 內(nèi)容簡介
為macOS、Windows和Linux平臺(tái)創(chuàng)建應(yīng)用 ? 使用原生操作系統(tǒng)API ? 使用諸如React等第三方框架 ? 將應(yīng)用部署到Mac App Store 讀者需要具備一定的JavaScript和Node技能,但無須具有任何桌面應(yīng)用開發(fā)經(jīng)驗(yàn)。
Web開發(fā)經(jīng)典叢書ELECTRON跨平臺(tái)開發(fā)實(shí)戰(zhàn) 目錄
第1 章 介紹Electron 3
1.1 什么是Electron 3
1.1.1 什么是Chromium Content Module 5
1.1.2 什么是Node.js 6
1.2 哪些人在使用Electron 6
1.3 閱讀本書之前,需要知道些什么 8
1.4 為何要使用Electron 8
1.4.1 重用現(xiàn)有技能 10
1.4.2 訪問原生操作系統(tǒng)API 10
1.4.3 更高運(yùn)行權(quán)限,更少功能限制 11
1.4.4 在瀏覽器環(huán)境中使用Node的功能 13
1.4.5 離線優(yōu)先 14
1.5 Electron的工作原理 14
1.5.1 主進(jìn)程 15
1.5.2 渲染器進(jìn)程 15
1.6 對比Electron與NW.js 16
1.7 本章小結(jié) 17
第2 章 創(chuàng)建**個(gè)Electron應(yīng)用 19
2.1 創(chuàng)建一個(gè)書簽列表應(yīng)用 20
2.1.1 組織Electron應(yīng)用的結(jié)構(gòu) 21
2.1.2 package.json 22
2.1.3 在項(xiàng)目中下載并安裝Electron 23
2.2 使用主進(jìn)程 25
2.3 創(chuàng)建一個(gè)渲染器進(jìn)程 26
2.3.1 從渲染器進(jìn)程加載代碼 30
2.3.2 在渲染器進(jìn)程中引入文件 31
2.3.3 在渲染器進(jìn)程中添加樣式 32
2.4 實(shí)現(xiàn)UI界面 33
2.4.1 在Electron中發(fā)出跨域請求 35
2.4.2 解析響應(yīng)文本 36
2.4.3 使用Web Storage API存儲(chǔ)從響應(yīng)中得到的信息 38
2.4.4 顯示請求的結(jié)果 39
2.4.5 預(yù)防錯(cuò)誤 43
2.4.6 一個(gè)不期而至的bug 45
2.5 本章小結(jié) 49
第Ⅱ部分 使用Electron創(chuàng)建跨平臺(tái)應(yīng)用
第3 章 創(chuàng)建一個(gè)筆記應(yīng)用 53
3.1 定義應(yīng)用的目標(biāo) 54
3.2 打下基礎(chǔ) 55
3.3 初始化并啟動(dòng)應(yīng)用 56
3.3.1 實(shí)現(xiàn)UI界面 57
3.3.2 優(yōu)雅地顯示瀏覽器窗口 63
3.4 實(shí)現(xiàn)基本功能 64
3.5 調(diào)試Electron應(yīng)用 67
3.5.1 調(diào)試渲染器進(jìn)程 67
3.5.2 調(diào)試主進(jìn)程 68
3.5.3 使用Visual Studio Code調(diào)試主進(jìn)程 69
3.6 本章小結(jié) 72
第4 章 使用原生文件對話框與實(shí)現(xiàn)跨進(jìn)程通信 73
4.1 觸發(fā)原生文件對話框 74
4.2 使用Node讀文件內(nèi)容 77
4.2.1 限定允許打開的文件類型 78
4.2.2 在macOS系統(tǒng)中實(shí)現(xiàn)工作表對話框 81
4.3 實(shí)現(xiàn)跨進(jìn)程通信 82
4.4 使用跨進(jìn)程通信調(diào)用文件打開功能 87
4.4.1 理解CommonJS模塊系統(tǒng) 88
4.4.2 引入其他進(jìn)程的功能 88
4.5 從主進(jìn)程向渲染器進(jìn)程發(fā)送內(nèi)容 90
4.6 本章小結(jié) 95
第5 章 創(chuàng)建多窗口應(yīng)用 97
5.1 創(chuàng)建和管理多個(gè)窗口 98
5.1.1 主進(jìn)程與多個(gè)窗口之間的通信 99
5.1.2 將指向當(dāng)前窗口的引用傳給主進(jìn)程 101
5.2 改進(jìn)新建窗口的用戶體驗(yàn) 103
5.3 與macOS集成 105
5.4 本章小結(jié) 108
第6 章 操作文件 111
6.1 跟蹤當(dāng)前打開的文件 113
6.1.1 使用當(dāng)前文件的名稱更新窗口標(biāo)題 114
6.1.2 檢測是否修改過當(dāng)前文件 116
6.1.3 啟用UI界面上的Save File和Revert按鈕 118
6.1.4 更新macOS系統(tǒng)的展示文件 119
6.2 跟蹤*近打開的文件 120
6.3 保存文件 122
6.3.1 導(dǎo)出渲染的HTML內(nèi)容 123
6.3.2 常用路徑 124
6.3.3 從渲染器進(jìn)程保存文件 125
6.3.4 保存當(dāng)前文件 125
6.3.5 回滾文件 127
6.4 通過拖曳打開文件 127
6.4.1 忽略無關(guān)區(qū)域的拖曳操作 127
6.4.2 提供可視化反饋 128
6.4.3 打開拖曳過來的文件 131
6.5 監(jiān)控文件的變動(dòng) 131
6.6 丟棄未保存的修改前提示用戶 134
6.7 本章小結(jié) 138
第7 章 創(chuàng)建應(yīng)用菜單和上下文菜單 141
7.1 替換并復(fù)制默認(rèn)菜單 143
7.1.1 macOS系統(tǒng)的Edit菜單消失之謎 144
7.1.2 替換Electron默認(rèn)菜單的隱形代價(jià) 146
7.1.3 實(shí)現(xiàn)Edit和Window菜單 147
7.1.4 定義菜單項(xiàng)的role屬性和鍵盤快捷鍵 148
7.1.5 恢復(fù)macOS系統(tǒng)的應(yīng)用菜單 149
7.1.6 添加Help菜單 153
7.2 在菜單中添加應(yīng)用特有的功能 155
7.3 創(chuàng)建上下文菜單 160
7.4 本章小結(jié) 162
第8 章 與操作系統(tǒng)更深入地集成以及動(dòng)態(tài)啟用菜單項(xiàng) 163
8.1 在渲染器進(jìn)程(UI界面)中使用shell模塊 164
8.2 在應(yīng)用菜單中使用shell模塊 167
8.3 在上下文菜單中使用shell模塊 169
8.3.1 決定將功能放在菜單中還是UI界面上 170
8.3.2 決定將功能放在應(yīng)用菜單還是上下文菜單中 171
8.4 在適當(dāng)?shù)臅r(shí)候禁用菜單項(xiàng) 171
8.4.1 動(dòng)態(tài)啟用和禁用上下文菜單中的菜單項(xiàng) 172
8.4.2 動(dòng)態(tài)啟用和禁用應(yīng)用菜單中的菜單項(xiàng) 175
8.5 本章小結(jié) 181
第9 章 介紹tray模塊 183
9.1 開始創(chuàng)建Clipmaster 184
9.2 使用tray模塊創(chuàng)建一個(gè)應(yīng)用 185
9.2.1 為macOS和Windows選擇不同的圖標(biāo) 187
9.2.2 支持macOS的深色模式 188
9.2.3 從剪貼板讀取內(nèi)容并保存剪貼項(xiàng) 189
9.3 讀寫剪貼板的內(nèi)容 191
9.3.1 寫入剪貼板 193
9.3.2 處理極端場景 195
9.4 注冊全局快捷鍵 198
9.5 顯示通知 201
9.6 在macOS系統(tǒng)中單擊菜單欄圖標(biāo)時(shí),切換顯示的圖標(biāo) 204
9.7 完整的代碼 205
9.8 本章小結(jié) 208
第10 章 在應(yīng)用中使用menubar庫 209
10.1 使用menubar開始創(chuàng)建應(yīng)用 210
10.2 向UI界面添加剪貼項(xiàng) 214
10.3 在應(yīng)用中操作剪貼項(xiàng) 216
10.3.1 使用事件代理避免內(nèi)存泄漏 216
10.3.2 刪除一個(gè)剪貼項(xiàng) 217
10.3.3 將數(shù)據(jù)寫入剪貼板 219
10.4 發(fā)布剪貼項(xiàng) 220
10.5 顯示通知和注冊全局快捷鍵 223
10.5.1 注冊全局快捷鍵 224
10.5.2 處理從未打開過窗口的極端場景 226
10.6 添加第二個(gè)菜單 227
10.7 本章小結(jié) 229
第11 章 使用轉(zhuǎn)譯器和框架 231
11.1 介紹electron-compile 233
11.2 打造應(yīng)用的基礎(chǔ) 234
11.3 在React中創(chuàng)建UI界面 241
11.3.1 Application組件 241
11.3.2 顯示物品列表 244
11.4 添加新的物品 248
11.5 實(shí)時(shí)重新加載與模塊熱加載 252
11.5.1 啟用實(shí)時(shí)重新加載 252
11.5.2 實(shí)現(xiàn)模塊熱加載 253
11.6 本章小結(jié) 256
第12 章 保存用戶數(shù)據(jù)以及使用Node.js原生模塊 259
12.1 在SQLite數(shù)據(jù)庫中存儲(chǔ)數(shù)據(jù) 260
12.1.1 使用electron-rebuild確保編譯出正確的版本 261
12.1.2 使用SQLite和Knex.js 262
12.1.3 將數(shù)據(jù)庫功能掛載到React應(yīng)用 263
12.1.4 從數(shù)據(jù)庫獲取所有數(shù)據(jù)項(xiàng) 265
12.1.5 向數(shù)據(jù)庫中添加數(shù)據(jù)項(xiàng) 266
12.1.6 更新數(shù)據(jù)庫中的數(shù)據(jù)項(xiàng) 268
12.1.7 刪除數(shù)據(jù)項(xiàng) 270
12.1.8 將數(shù)據(jù)庫存儲(chǔ)在正確的地方 275
12.2 IndexedDB 276
12.2.1 在IndexedDB中創(chuàng)建倉庫 277
12.2.2 從IndexedDB獲取數(shù)據(jù) 278
12.2.3 向IndexedDB寫入數(shù)據(jù) 279
12.2.4 將數(shù)據(jù)庫操作連接到UI界面 282
12.3 本章小結(jié) 284
第13 章 使用Spectron測試應(yīng)用 285
13.1 介紹Spectron 287
13.2 使用Spectron和WebdriverIO 289
13.3 設(shè)置Spectron和測試運(yùn)行器 290
13.4 使用Spectron編寫異步測試 292
13.4.1 等待窗口加載 293
13.4.2 測試Electron Browser Window API 294
13.4.3 使用Spectron遍歷和測試DOM 294
13.4.4 使用Spectron控制Electron API 297
13.5 本章小結(jié) 298
第Ⅲ部分 部署Electron應(yīng)用
第14 章 構(gòu)建并部署應(yīng)用 301
14.1 介紹Electron Packager 302
14.1.1 設(shè)置Electron Packager 302
14.1.2 配置輸出目錄 304
14.1.3 配置應(yīng)用的名稱和版本 304
14.1.4 更新應(yīng)用圖標(biāo) 305
14.1.5 針對多個(gè)操作系統(tǒng)進(jìn)行構(gòu)建 306
14.2 使用asar檔案文件 307
14.3 Electron Forge 310
14.3.1 將一個(gè)Electron應(yīng)用導(dǎo)入Electron Forge 311
14.3.2 使用Electron Forge構(gòu)建應(yīng)用 312
14.4 本章小結(jié) 313
第15章 發(fā)布和更新應(yīng)用 315
15.1 收集崩潰報(bào)告 315
15.1.1 設(shè)置崩潰報(bào)告 316
15.1.2 設(shè)置一臺(tái)接收崩潰報(bào)告的服務(wù)器 319
15.1.3 報(bào)告未捕獲異常 322
15.2 應(yīng)用簽名 324
15.2.1 簽署macOS應(yīng)用 325
15.2.2 在Windows系統(tǒng)中創(chuàng)建安裝程序和進(jìn)行代碼簽名 328
15.3 自動(dòng)更新應(yīng)用 331
15.3.1 在Electron中設(shè)置自動(dòng)升級 332
15.3.2 搭建一臺(tái)自動(dòng)更新服務(wù)器 334
15.4 本章小結(jié) 337
第16 章 通過Mac App Store分發(fā)應(yīng)用 339
16.1 將應(yīng)用提交到Mac App Store 339
16.1.1 簽署應(yīng)用 340
16.1.2 向Mac App Store注冊應(yīng)用 345
16.1.3 將應(yīng)用添加到iTunes Connect 346
16.1.4 為Mac App Store打包應(yīng)用 348
16.1.5 配置應(yīng)用類別 352
16.1.6 注冊應(yīng)用以打開一種文件類型 352
16.2 驗(yàn)證和上傳應(yīng)用 354
16.3 收尾事項(xiàng) 355
16.4 本章小結(jié) 355
附錄 Fire Sale和Clipmaster 9000的源代碼 357
Web開發(fā)經(jīng)典叢書ELECTRON跨平臺(tái)開發(fā)實(shí)戰(zhàn) 相關(guān)資料
“以實(shí)戰(zhàn)風(fēng)格講述跨平臺(tái)桌面應(yīng)用開發(fā)的權(quán)威指南。”
—Ashwin K. Raj, Innocepts
“不僅告訴你Electron為何物,而且還教你編寫復(fù)雜的Electron應(yīng)用程序。”
—Alexey Galiullin, Voiceworks
“讓我能夠快速創(chuàng)建自用的日常工具。”
—Phillippe Charriere,GtLab
“快速閱讀,輕松理解。”
—Jay Kelkar, Kelkar Systems
“終于,JavaScript無所不在!”
—William F. Wheeler, consultant
Web開發(fā)經(jīng)典叢書ELECTRON跨平臺(tái)開發(fā)實(shí)戰(zhàn) 作者簡介
Steve Kinney是SendGrid的首席工程師,也是一名國際演講者和DinosaurJS會(huì)議(在位于科羅拉多州丹佛市舉辦的JavaScript技術(shù)會(huì)議)的組織者。此前,他是軟件與設(shè)計(jì)圖靈學(xué)院前端工程項(xiàng)目的創(chuàng)始主任,并曾經(jīng)在紐約市從事過七年教學(xué)工作。
- >
名家?guī)阕x魯迅:故事新編
- >
二體千字文
- >
人文閱讀與收藏·良友文學(xué)叢書:一天的工作
- >
朝聞道
- >
中國歷史的瞬間
- >
姑媽的寶刀
- >
我從未如此眷戀人間
- >
新文學(xué)天穹兩巨星--魯迅與胡適/紅燭學(xué)術(shù)叢書(紅燭學(xué)術(shù)叢書)