TOP
0
0
【23號簡體館日】限時三天領券享優惠!!
Electron跨平臺開發實戰(簡體書)
滿額折

Electron跨平臺開發實戰(簡體書)

人民幣定價:98 元
定  價:NT$ 588 元
優惠價:87512
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:15 點
相關商品
商品簡介
名人/編輯推薦
目次

商品簡介

為macOS、Windows和Linux平臺創建應用 ? 使用原生操作系統API ? 使用諸如React等第三方框架 ? 將應用部署到Mac App Store 讀者需要具備一定的JavaScript和Node技能,但無須具有任何桌面應用開發經驗。

名人/編輯推薦

如果能夠使用Web開發技能創建桌面應用,豈不是美事一樁?Electron正是一個用以實現此類需求的框架。不管是在哪個操作系統上,Electron都能讓我們使用JavaScript和Node創建出簡潔、時髦的桌面應用。在基於Electron創建工具、遊戲和軟件的過程中,我們可以充分感受到Electron的快捷、實用和趣味性。
《Electron跨平臺開發實戰》講述如何使用JavaScript、Node和Electron框架創建跨平臺應用。在創建一個讀取和渲染Markdown文件的文本編輯器應用的過程中,讀者將學會像一名桌面開發者那樣去思考。本書還講解如何為應用添加各種與操作系統有關的功能,包括訪問文件系統、定制菜單和訪問系統剪貼板,以及如何使用Chromium的工具分發已完工的產品。此外,《Electron跨平臺開發實戰》還介紹數據存儲、性能優化和自動化測試等主題。

目次

目 錄

第Ⅰ部分 Electron入門知識

章 介紹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 重用現有技能 10

1.4.2 訪問原生操作系統API 10

1.4.3 更高運行權限,更少功能限制 11

1.4.4 在瀏覽器環境中使用Node的功能 13

1.4.5 離線優先 14

1.5 Electron的工作原理 14

1.5.1 主進程 15

1.5.2 渲染器進程 15

1.6 對比Electron與NW.js 16

1.7 本章小結 17

第2 章 創建個Electron應用 19

2.1 創建一個書簽列表應用 20

2.1.1 組織Electron應用的結構 21

2.1.2 package.json 22

2.1.3 在項目中下載並安裝Electron 23

2.2 使用主進程 25

2.3 創建一個渲染器進程 26

2.3.1 從渲染器進程加載代碼 30

2.3.2 在渲染器進程中引入文件 31

2.3.3 在渲染器進程中添加樣式 32

2.4 實現UI界面 33

2.4.1 在Electron中發出跨域請求 35

2.4.2 解析響應文本 36

2.4.3 使用Web Storage API存儲從響應中得到的信息 38

2.4.4 顯示請求的結果 39

2.4.5 預防錯誤 43

2.4.6 一個不期而至的bug 45

2.5 本章小結 49

第Ⅱ部分 使用Electron創建跨平臺應用

第3 章 創建一個筆記應用 53

3.1 定義應用的目標 54

3.2 打下基礎 55

3.3 初始化並啟動應用 56

3.3.1 實現UI界面 57

3.3.2 優雅地顯示瀏覽器窗口 63

3.4 實現基本功能 64

3.5 調試Electron應用 67

3.5.1 調試渲染器進程 67

3.5.2 調試主進程 68

3.5.3 使用Visual Studio Code調試主進程 69

3.6 本章小結 72

第4 章 使用原生文件對話框與實現跨進程通信 73

4.1 觸發原生文件對話框 74

4.2 使用Node讀文件內容 77

4.2.1 限定允許打開的文件類型 78

4.2.2 在macOS系統中實現工作表對話框 81

4.3 實現跨進程通信 82

4.4 使用跨進程通信調用文件打開功能 87

4.4.1 理解CommonJS模塊系統 88

4.4.2 引入其他進程的功能 88

4.5 從主進程向渲染器進程發送內容 90

4.6 本章小結 95

第5 章 創建多窗口應用 97

5.1 創建和管理多個窗口 98

5.1.1 主進程與多個窗口之間的通信 99

5.1.2 將指向當前窗口的引用傳給主進程 101

5.2 改進新建窗口的用戶體驗 103

5.3 與macOS集成 105

5.4 本章小結 108

第6 章 操作文件 111

6.1 跟蹤當前打開的文件 113

6.1.1 使用當前文件的名稱更新窗口標題 114

6.1.2 檢測是否修改過當前文件 116

6.1.3 啟用UI界面上的Save File和Revert按鈕 118

6.1.4 更新macOS系統的展示文件 119

6.2 跟蹤最近打開的文件 120

6.3 保存文件 122

6.3.1 導出渲染的HTML內容 123

6.3.2 常用路徑 124

6.3.3 從渲染器進程保存文件 125

6.3.4 保存當前文件 125

6.3.5 回滾文件 127

6.4 通過拖曳打開文件 127

6.4.1 忽略無關區域的拖曳操作 127

6.4.2 提供可視化反饋 128

6.4.3 打開拖曳過來的文件 131

6.5 監控文件的變動 131

6.6 丟棄未保存的修改前提示用戶 134

6.7 本章小結 138

第7 章 創建應用菜單和上下文菜單 141

7.1 替換並複製默認菜單 143

7.1.1 macOS系統的Edit菜單消失之謎 144

7.1.2 替換Electron默認菜單的隱形代價 146

7.1.3 實現Edit和Window菜單 147

7.1.4 定義菜單項的role屬性和鍵盤快捷鍵 148

7.1.5 恢復macOS系統的應用菜單 149

7.1.6 添加Help菜單 153

7.2 在菜單中添加應用特有的功能 155

7.3 創建上下文菜單 160

7.4 本章小結 162

第8 章 與操作系統更深入地集成以及動態啟用菜單項 163

8.1 在渲染器進程(UI界面)中使用shell模塊 164

8.2 在應用菜單中使用shell模塊 167

8.3 在上下文菜單中使用shell模塊 169

8.3.1 決定將功能放在菜單中還是UI界面上 170

8.3.2 決定將功能放在應用菜單還是上下文菜單中 171

8.4 在適當的時候禁用菜單項 171

8.4.1 動態啟用和禁用上下文菜單中的菜單項 172

8.4.2 動態啟用和禁用應用菜單中的菜單項 175

8.5 本章小結 181

第9 章 介紹tray模塊 183

9.1 開始創建Clipmaster 184

9.2 使用tray模塊創建一個應用 185

9.2.1 為macOS和Windows選擇不同的圖標 187

9.2.2 支持macOS的深色模式 188

9.2.3 從剪貼板讀取內容並保存剪貼項 189

9.3 讀寫剪貼板的內容 191

9.3.1 寫入剪貼板 193

9.3.2 處理極端場景 195

9.4 註冊全域快捷鍵 198

9.5 顯示通知 201

9.6 在macOS系統中單擊菜單欄圖標時,切換顯示的圖標 204

9.7 完整的代碼 205

9.8 本章小結 208

0 章 在應用中使用menubar庫 209

10.1 使用menubar開始創建應用 210

10.2 向UI界面添加剪貼項 214

10.3 在應用中操作剪貼項 216

10.3.1 使用事件代理避免內存洩漏 216

10.3.2 刪除一個剪貼項 217

10.3.3 將數據寫入剪貼板 219

10.4 發佈剪貼項 220

10.5 顯示通知和註冊全域快捷鍵 223

10.5.1 註冊全域快捷鍵 224

10.5.2 處理從未打開過窗口的極端場景 226

10.6 添加第二個菜單 227

10.7 本章小結 229

1 章 使用轉譯器和框架 231

11.1 介紹electron-compile 233

11.2 打造應用的基礎 234

11.3 在React中創建UI界面 241

11.3.1 Application組件 241

11.3.2 顯示物品列表 244

11.4 添加新的物品 248

11.5 實時重新加載與模塊熱加載 252

11.5.1 啟用實時重新加載 252

11.5.2 實現模塊熱加載 253

11.6 本章小結 256

2 章 保存用戶數據以及使用Node.js原生模塊 259

12.1 在SQLite數據庫中存儲數據 260

12.1.1 使用electron-rebuild確保編譯出正確的版本 261

12.1.2 使用SQLite和Knex.js 262

12.1.3 將數據庫功能掛載到React應用 263

12.1.4 從數據庫獲取所有數據項 265

12.1.5 向數據庫中添加數據項 266

12.1.6 更新數據庫中的數據項 268

12.1.7 刪除數據項 270

12.1.8 將數據庫存儲在正確的地方 275

12.2 IndexedDB 276

12.2.1 在IndexedDB中創建倉庫 277

12.2.2 從IndexedDB獲取數據 278

12.2.3 向IndexedDB寫入數據 279

12.2.4 將數據庫操作連接到UI界面 282

12.3 本章小結 284

3 章 使用Spectron測試應用 285

13.1 介紹Spectron 287

13.2 使用Spectron和WebdriverIO 289

13.3 設置Spectron和測試運行器 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 本章小結 298

第Ⅲ部分 部署Electron應用

4 章 構建並部署應用 301

14.1 介紹Electron Packager 302

14.1.1 設置Electron Packager 302

14.1.2 配置輸出目錄 304

14.1.3 配置應用的名稱和版本 304

14.1.4 更新應用圖標 305

14.1.5 針對多個操作系統進行構建 306

14.2 使用asar檔案文件 307

14.3 Electron Forge 310

14.3.1 將一個Electron應用導入Electron Forge 311

14.3.2 使用Electron Forge構建應用 312

14.4 本章小結 313

5章 發佈和更新應用 315

15.1 收集崩潰報告 315

15.1.1 設置崩潰報告 316

15.1.2 設置一台接收崩潰報告的服務器 319

15.1.3 報告未捕獲異常 322

15.2 應用簽名 324

15.2.1 簽署macOS應用 325

15.2.2 在Windows系統中創建安裝程序和進行代碼簽名 328

15.3 自動更新應用 331

15.3.1 在Electron中設置自動升級 332

15.3.2 搭建一台自動更新服務器 334

15.4 本章小結 337

6 章 通過Mac App Store分發應用 339

16.1 將應用提交到Mac App Store 339

16.1.1 簽署應用 340

16.1.2 向Mac App Store註冊應用 345

16.1.3 將應用添加到iTunes Connect 346

16.1.4 為Mac App Store打包應用 348

16.1.5 配置應用類別 352

16.1.6 註冊應用以打開一種文件類型 352

16.2 驗證和上傳應用 354

16.3 收尾事項 355

16.4 本章小結 355

附錄 Fire Sale和Clipmaster 9000的源代碼 357

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 512
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區