注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)跨平臺(tái)桌面應(yīng)用開發(fā):基于Electron與NW.js

跨平臺(tái)桌面應(yīng)用開發(fā):基于Electron與NW.js

跨平臺(tái)桌面應(yīng)用開發(fā):基于Electron與NW.js

定 價(jià):¥99.00

作 者: [丹麥] Paul B.Jensen(保羅·B.詹森) 著;Goddy Zhao 譯
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787121334740 出版時(shí)間: 2018-03-01 包裝: 平裝
開本: 16開 頁數(shù): 360 字?jǐn)?shù):  

內(nèi)容簡介

  本書是一本同時(shí)介紹 Electron和 NW.js的圖書,這兩者是目前流行的支持使用 HTML、CSS 和 JavaScript 進(jìn)行桌面應(yīng)用開發(fā)的框架。書中包含大量的編碼示例,而且每個(gè)示例都是五臟俱全的實(shí)用應(yīng)用,作者對(duì)示例中的關(guān)鍵代碼都做了非常詳細(xì)的解釋和說明,可讓讀者通過實(shí)際的編碼體會(huì)使用這兩款框架開發(fā)桌面應(yīng)用的切實(shí)感受。除此之外,在內(nèi)容上,本書非常系統(tǒng),分為4大部分:第1部分介紹兩個(gè)框架的歷史背景,并教大家編寫**個(gè)桌面應(yīng)用,讓讀者對(duì)這兩個(gè)框架有一個(gè)初步的感受;第 2部分深入講解 NW.js和 Electron 的內(nèi)部工作原理,幫助大家剖析這兩個(gè)框架的底層機(jī)制,讓讀者對(duì)它們有更深入的理解;第 3部分介紹使用框架提供的大量 API 來構(gòu)建多款實(shí)用的桌面應(yīng)用,全方位地讓讀者體會(huì)使用這兩個(gè)框架開發(fā)桌面應(yīng)用帶來的舒適體驗(yàn);第 4部分為大家講解了,當(dāng)開發(fā)完成后,如何對(duì)應(yīng)用進(jìn)行測(cè)試、跨平臺(tái)打包和發(fā)布??梢哉f這 4部分結(jié)合起來將開發(fā)桌面應(yīng)用的整個(gè)流程系統(tǒng)化地講解得非常清楚、到位。相信結(jié)合書中大量的示例,讀者一定能很快掌握并自己使用 Electron和 NW.js構(gòu)建出跨平臺(tái)的桌面應(yīng)用。

作者簡介

  Paul Jensen 是英國倫敦一家名為 Starcount 公司的高級(jí)售前顧問。他曾在創(chuàng)業(yè)公司工作過,網(wǎng)路代理商 New Bamboo ( 現(xiàn)在屬于 Thoughtbot),AOL, 以及他自己的咨詢公司,Anephenix Ltd。他在一些大會(huì)(倫敦 Ruby 用戶組,2013 年的Cukeup 以及 倫敦用戶組)上做過演講,創(chuàng)建了他自己的實(shí)時(shí)儀表盤(Dashku),也曾是 web 框架 Socketstream 的項(xiàng)目帶頭人。他喜歡麥芽酒和騎行,他的推特賬號(hào)是:@paulbjensen。本書譯者中英文水平都極高,且工作在編程第一線,具有豐富的理論知識(shí)和實(shí)踐經(jīng)驗(yàn),此前翻譯過圖書,相信能為大家?guī)硪槐举|(zhì)量上乘的圖書。

圖書目錄

第1部分 歡迎來到 Node.js 桌面應(yīng)用開發(fā)的世界
第1章 Electron和NW.js入門 3
1.1 為什么要用 Node.js 構(gòu)建桌面應(yīng)用 4
1.1.1 桌面應(yīng)用到 Web 應(yīng)用,再回到桌面應(yīng)用 4
1.1.2 Node.js 桌面應(yīng)用相比 Web 應(yīng)用有什么優(yōu)勢(shì) 6
1.2 NW.js 和 Electron 的起源 8
1.3 NW.js 介紹 9
1.3.1 使用 NW.js 構(gòu)建 Hello World 應(yīng)用 10
1.3.2 NW.js 有哪些特性 15
1.4 Electron 介紹 18
1.4.1 Electron 是如何工作的以及它和 NW.js 的區(qū)別是什么 19
1.4.2 使用 Electron 開發(fā) Hello World 應(yīng)用 19
1.4.3 Electron 有哪些特性 25
1.5 NW.js 和 Electron 支持創(chuàng)建哪類應(yīng)用 25
1.5.1 Slack 26
1.5.2 Light Table 26
1.5.3 Game Dev Tycoon 27
1.5.4 Gitter 28
1.5.5 Macaw 29
1.5.6 Hyper 30
1.6 小結(jié) 31
第2章 為你的首款桌面應(yīng)用搭建基礎(chǔ)架構(gòu).32
2.1 我們將構(gòu)建什么應(yīng)用 33
2.2 創(chuàng)建應(yīng)用 34
2.2.1 安裝 NW.js 和 Electron 34
2.2.2 為 NW.js 版本的應(yīng)用創(chuàng)建文件和文件夾 35
2.2.3 為 Electron 版本的應(yīng)用創(chuàng)建文件和文件夾 37
2.3 實(shí)現(xiàn)啟動(dòng)界面 39
2.3.1 在工具條中展示用戶個(gè)人文件夾信息 40
2.3.2 顯示用戶個(gè)人文件夾中的文件和文件夾 44
2.4 小結(jié) 54
第3章 構(gòu)建你的首款桌面應(yīng)用 56
3.1 瀏覽文件夾 57
3.1.1 重構(gòu)代碼 57
3.1.2 處理對(duì)文件夾的雙擊操作 61
3.2 實(shí)現(xiàn)快速搜索 64
3.2.1 在工具條中增加搜索框 65
3.2.2 引入一個(gè)內(nèi)存搜索庫 65
3.2.3 在界面上觸發(fā)搜索功能 67
3.3 改進(jìn)應(yīng)用內(nèi)的導(dǎo)航功能 71
3.3.1 實(shí)現(xiàn)當(dāng)前文件夾路徑可單擊 71
3.3.2 讓應(yīng)用隨著文件夾路徑的改變顯示對(duì)應(yīng)的文件夾內(nèi)容 74
3.3.3 實(shí)現(xiàn)使用默認(rèn)應(yīng)用打開對(duì)應(yīng)的文件 75
3.4 小結(jié) 77
第4章 分發(fā)你的首款桌面應(yīng)用 79
4.1 對(duì)應(yīng)用進(jìn)行與分發(fā)相關(guān)的設(shè)置 80
4.2 對(duì)要分發(fā)的應(yīng)用進(jìn)行打包 83
4.2.1 使用一種 NW.js 的構(gòu)建工具 83
4.2.2 使用一種 Electron的構(gòu)建工具 84
4.2.3 設(shè)置應(yīng)用的圖標(biāo) 85
4.3 在多個(gè)操作系統(tǒng)中測(cè)試應(yīng)用 91
4.3.1 Windows 操作系統(tǒng) 91
4.3.2 Linux 操作系統(tǒng) 92
4.3.3 Mac OS 系統(tǒng) 92
4.4 小結(jié) 92
第2部分 深度剖析
第5章 在NW.js和Electron中使用Node.js 97
5.1 什么是 Node.js 98
5.1.1 同步與異步 98
5.1.2 流是一等公民 101
5.1.3 事件 105
5.1.4 模塊 106
5.2 Node 包管理器 109
5.2.1 尋找應(yīng)用需要的模塊 109
5.2.2 使用 package.json記錄安裝的模塊 109
5.2.3 使用 npm 打包模塊和應(yīng)用 111
5.3 小結(jié) 114
第6章 探索NW.js和Electron的內(nèi)部機(jī)制 115
6.1 NW.js 內(nèi)部是如何工作的 116
6.1.1 使用同一個(gè) V8 實(shí)例 117
6.1.2 集成主事件循環(huán) 118
6.1.3 橋接 Node.js 和 Chromium 的 JavaScript 上下文 119
6.2 Electron 內(nèi)部是如何工作的 119
6.2.1 libchromiumcontent 介紹 120
6.2.2 Electron 中的組件 120
6.2.3 Electron 是如何將應(yīng)用運(yùn)行起來的 121
6.3 Node.js是如何與NW.js以及Electron一起工作的 122
6.3.1 Node.js 集成在 NW.js 的哪個(gè)位置 122
6.3.2 在 NW.js中使用 Node.js 的缺點(diǎn) 123
6.3.3 Electron 是怎么使用 Node.js 的 123
6.4 小結(jié) 124
第3部分 精通Node.js桌面應(yīng)用開發(fā)
第7章 自定義桌面應(yīng)用的外觀 127
7.1 視窗的尺寸和模式 127
7.1.1 配置 NW.js 應(yīng)用的視窗尺寸 128
7.1.2 配置 Electron 應(yīng)用的視窗尺寸 129
7.1.3 在 NW.js 中限制視窗的尺寸 131
7.1.4 在 Electron 中限制視窗的尺寸 133
7.2 無邊框應(yīng)用以及全屏應(yīng)用 134
7.2.1 NW.js 中的全屏應(yīng)用 135
7.2.2 Electron 中的全屏應(yīng)用 138
7.2.3 無邊框應(yīng)用 140
7.2.4 kiosk 應(yīng)用 145
7.3 小結(jié) 149
第8章 創(chuàng)建托盤應(yīng)用 150
8.1 使用 NW.js 創(chuàng)建簡單的托盤應(yīng)用 151
8.2 使用 Electron 創(chuàng)建托盤應(yīng)用 156
8.3 小結(jié) 159
第9章 創(chuàng)建應(yīng)用菜單以及上下文菜單 161
9.1 為應(yīng)用添加菜單 162
9.1.1 應(yīng)用視窗菜單 162
9.1.2 使用 NW.js 為 Mac OS的應(yīng)用創(chuàng)建菜單 162
9.1.3 使用 Electron 為 Mac OS的應(yīng)用創(chuàng)建菜單 163
9.1.4 為 Windows 和 Linux的應(yīng)用創(chuàng)建菜單 166
9.1.5 基于操作系統(tǒng)來選擇渲染具體的菜單 173
9.2 上下文菜單 174
9.2.1 使用 NW.js 創(chuàng)建上下文菜單 174
9.2.2 NW.js 中的上下文菜單是如何工作的 179
9.2.3 設(shè)置菜單項(xiàng)圖標(biāo) 180
9.2.4 使用 Electron 創(chuàng)建上下文菜單 181
9.2.5 使用 Electron 添加上下文菜單 184
9.3 小結(jié) 185
第10章 拖曳文件以及定制界面 186
10.1 在應(yīng)用中拖曳文件 186
10.1.1 使用 NW.js 實(shí)現(xiàn)在應(yīng)用中拖曳文件 187
10.1.2 使用 Electron 實(shí)現(xiàn)拖曳功能 190
10.2 模擬操作系統(tǒng)原生樣式 191
10.2.1 檢測(cè)用戶的操作系統(tǒng) 191
10.2.2 使用 NW.js檢測(cè)操作系統(tǒng) 191
10.2.3 使用 Electron檢測(cè)操作系統(tǒng) 192
10.2.4 使用 CSS匹配用戶操作系統(tǒng)的樣式 194
10.3 小結(jié) 197
第11章 在應(yīng)用中使用網(wǎng)絡(luò)攝像頭 198
11.1 使用 HTML5 媒體捕捉 API 來實(shí)現(xiàn)相片快照 198
11.1.1 解讀 NW.js 版的應(yīng)用 199
11.1.2 使用 Electron 構(gòu)建 Facebomb 應(yīng)用 205
11.2 小結(jié) 210
第12章 存儲(chǔ)應(yīng)用數(shù)據(jù) 211
12.1 應(yīng)該使用哪種數(shù)據(jù)存儲(chǔ)方案 211
12.2 使用 localStorage API 存儲(chǔ)便箋數(shù)據(jù) 212
12.2.1 使用 Electron開發(fā) Let Me Remember應(yīng)用 213
12.2.2 使用 NW.js開發(fā) Let Me Remember應(yīng)用 216
12.3 將待辦事項(xiàng)應(yīng)用移植為桌面應(yīng)用 219
12.3.1 使用 NW.js 移植 TodoMVC Web 應(yīng)用 219
12.3.2 使用 Electron 移植 TodoMVC 應(yīng)用 220
12.4 小結(jié) 222
第13章 從剪貼板復(fù)制和粘貼數(shù)據(jù) 223
13.1 訪問剪貼板數(shù)據(jù) 223
13.1.1 使用 NW.js 創(chuàng)建 Pearls 應(yīng)用 224
13.1.2 使用 Electron 創(chuàng)建 Pearls 應(yīng)用 228
13.1.3 使用 Electron 將不同類型的數(shù)據(jù)寫入剪貼板 231
13.2 小結(jié) 232
第14章 綁定鍵盤快捷鍵 233
14.1 使用 NW.js 創(chuàng)建貪吃蛇游戲 234
14.1.1 使用 NW.js 在視窗獲取焦點(diǎn)的時(shí)候?qū)崿F(xiàn)鍵盤快捷鍵 242
14.1.2 使用 NW.js 來創(chuàng)建全局鍵盤快捷鍵 243
14.2 使用 Electron 為貪吃蛇游戲創(chuàng)建全局快捷鍵 245
14.3 小結(jié) 247
第15章 制作桌面通知 248
15.1 關(guān)于你要構(gòu)建的應(yīng)用 249
15.2 使用 Electron 構(gòu)建 Watchy 應(yīng)用 249
15.3 使用 NW.js 構(gòu)建 Watchy 應(yīng)用 254
15.4 小結(jié) 257
第4部分 準(zhǔn)備發(fā)布
第16章 測(cè)試桌面應(yīng)用 261
16.1 測(cè)試應(yīng)用的不同方法 262
16.1.1 測(cè)試驅(qū)動(dòng)開發(fā) 262
16.1.2 行為驅(qū)動(dòng)開發(fā) 264
16.1.3 不同層面的測(cè)試 265
16.2 單元測(cè)試 265
16.2.1 使用 Mocha 編寫測(cè)試 266
16.2.2 讓待完成的測(cè)試變成執(zhí)行通過的測(cè)試 268
16.3 功能測(cè)試 271
16.3.1 功能測(cè)試實(shí)踐 272
16.3.2 使用 NW.js 和 ChromeDriver 進(jìn)行測(cè)試 272
16.4 使用Spectron測(cè)試Electron應(yīng)用 273
16.5 集成測(cè)試 275
16.5.1 Cucumber 介紹 276
16.5.2 使用 Cucumber和 Spectron對(duì) Electron應(yīng)用進(jìn)行自動(dòng)化測(cè)試 277
16.6 小結(jié) 280
第17章 調(diào)試并提升應(yīng)用性能 281
17.1 了解你要調(diào)試的是什么 282
17.1.1 確定問題根本原因的位置 283
17.1.2 使用瀏覽器開發(fā)者工具進(jìn)行調(diào)試 284
17.2 修復(fù) bug 287
17.2.1 使用 Node.js 的調(diào)試器來調(diào)試應(yīng)用 288
17.2.2 使用 NW.js 的開發(fā)者工具來調(diào)試應(yīng)用 291
17.3 解決性能問題 296
17.3.1 Network選項(xiàng)卡 296
17.3.2 Timeline選項(xiàng)卡 297
17.3.3 Pro.les選項(xiàng)卡 299
17.4 調(diào)試 Electron 應(yīng)用 301
17.5 小結(jié) 307
第18章 為多平臺(tái)打包應(yīng)用 308
18.1 為應(yīng)用創(chuàng)建可執(zhí)行文件 309
18.1.1 為 Windows 系統(tǒng)創(chuàng)建 NW.js 應(yīng)用的可執(zhí)行文件 309
18.1.2 安裝虛擬機(jī) 309
18.1.3 為一個(gè) NW.js應(yīng)用創(chuàng)建針對(duì) Windows系統(tǒng)的 exe文件 310
18.1.4 為一個(gè) Electron 應(yīng)用創(chuàng)建 Windows 系統(tǒng)的可執(zhí)行文件 311
18.2 為 Windows 的應(yīng)用創(chuàng)建啟動(dòng)安裝器 314
18.2.1 使用 NW.js 創(chuàng)建 Windows 系統(tǒng)啟動(dòng)安裝器 314
18.2.2 使用 Electron創(chuàng)建 Windows系統(tǒng)啟動(dòng)安裝器 321
18.3 為 Mac OS 創(chuàng)建 NW.js 應(yīng)用的可執(zhí)行文件 324
18.3.1 創(chuàng)建 Mac 可執(zhí)行應(yīng)用 324
18.3.2 為 Mac OS 創(chuàng)建 Electron 應(yīng)用的可執(zhí)行文件 327
18.4 為 Linux 創(chuàng)建可執(zhí)行應(yīng)用 329
18.4.1 為 Linux 創(chuàng)建獨(dú)立的 NW.js 應(yīng)用文件 330
18.4.2 為 Linux 創(chuàng)建獨(dú)立的 Electron 應(yīng)用文件 331
18.5 小結(jié) 333
附錄A 安裝 Node.js 335

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)