《跨平台桌面应用开发 基于Electron与NW.jsElectron NW.js》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:保罗·B.詹森
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2018
  • ISBN:9787121334740
  • 页数:335 页
图书介绍:本书是一本同时介绍目前最流行的两款支持使用 HTML、CSS 和 JavaScript 进行桌面应用开发的框架——NW.js 和 Electron的书。书中包含了大量使用Node.js和Javascript编写的示例,而且每个示例都是五脏俱全的实用应用,且对示例中的关键代码都做了非常详细的解释和说明,可让读者通过实际的编码体会使用这两款框架开发桌面应用的切实感受。除此之外,在内容上,本书非常系统化,分为4大部分,可以说这4 个部分结合起来系统化地将开发桌面应用的整个流程都讲解得非常清楚到位。相信结合书中大量的示例,读者一定能很快掌握并自己使用 NW.js 和 Electron 构建出跨平台的桌面应用。

第1部分 欢迎来到Node.js桌面应用开发的世界 3

第1章 Electron和NW.js入门 3

1.1为什么要用Node.js构建桌面应用 4

1.1.1桌面应用到Web应用,再回到桌面应用 4

1.1.2 Node.js桌面应用相比Web应用有什么优势 6

1.2 NW.js和Electron的起源 8

1.3 NW.js介绍 9

1.3.1使用NW.js构建Hello World应用 10

1.3.2 NW.js有哪些特性 15

1.4 Electron介绍 18

1.4.1 Electron是如何工作的以及它和NW.js的区别是什么 19

1.4.2使用Electron开发Hello World应用 19

1.4.3 Electron有哪些特性 25

1.5 NW.js和Electron支持创建哪类应用 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小结 31

第2章 为你的首款桌面应用搭建基础架构 32

2.1我们将构建什么应用 33

2.2创建应用 34

2.2.1安装NW.js和Electron 34

2.2.2为NW.js版本的应用创建文件和文件夹 35

2.2.3为Electron版本的应用创建文件和文件夹 37

2.3实现启动界面 39

2.3.1在工具条中展示用户个人文件夹信息 40

2.3.2显示用户个人文件夹中的文件和文件夹 44

2.4小结 54

第3章 构建你的首款桌面应用 56

3.1浏览文件夹 57

3.1.1重构代码 57

3.1.2处理对文件夹的双击操作 61

3.2实现快速搜索 64

3.2.1在工具条中增加搜索框 65

3.2.2引入一个内存搜索库 65

3.2.3在界面上触发搜索功能 67

3.3改进应用内的导航功能 71

3.3.1实现当前文件夹路径可单击 71

3.3.2让应用随着文件夹路径的改变显示对应的文件夹内容 74

3.3.3实现使用默认应用打开对应的文件 75

3.4小结 77

第4章 分发你的首款桌面应用 79

4.1对应用进行与分发相关的设置 80

4.2对要分发的应用进行打包 83

4.2.1使用一种NW/js的构建工具 83

4.2.2使用一种Electron的构建工具 84

4.2.3设置应用的图标 85

4.3在多个操作系统中测试应用 91

4.3.1 Windows操作系统 91

4.3.2 Linux操作系统 92

4.3.3 Mac OS系统 92

4.4小结 92

第2部分 深度剖析 97

第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寻找应用需要的模块 109

5.2.2使用package.json记录安装的模块 109

5.2.3使用npm打包模块和应用 111

5.3小结 114

第6章 探索NW.js和Electron的内部机制 115

6.1 NW.js内部是如何工作的 116

6.1.1使用同一个V8实例 117

6.1.2集成主事件循环 118

6.1.3桥接Node.js和Chromium的JavaScript上下文 119

6.2 Electron内部是如何工作的 119

6.2.1 libchromiumcontent介绍 120

6.2.2 Electron中的组件 120

6.2.3 Electron是如何将应用运行起来的 121

6.3 Node.js是如何与NW.js以及Electron一起工作的 122

6.3.1 Node.js集成在NW.js的哪个位置 122

6.3.2在NW.js中使用Node.js的缺点 123

6.3.3 Electron是怎么使用Node.js的 123

6.4小结 124

第3部分 精通Node.js桌面应用开发 127

第7章 自定义桌面应用的外观 127

7.1视窗的尺寸和模式 127

7.1.1配置NW.js应用的视窗尺寸 128

7.1.2配置Electron应用的视窗尺寸 129

7.1.3在NW.js中限制视窗的尺寸 131

7.1.4在Electron中限制视窗的尺寸 133

7.2无边框应用以及全屏应用 134

7.2.1 NW.js中的全屏应用 135

7.2.2 Electron中的全屏应用 138

7.2.3无边框应用 140

7.2.4 kiosk应用 145

7.3小结 149

第8章 创建托盘应用 150

8.1使用NW.js创建简单的托盘应用 151

8.2使用Electron创建托盘应用 156

8.3小结 159

第9章 创建应用菜单以及上下文菜单 161

9.1为应用添加菜单 162

9.1.1应用视窗菜单 162

9.1.2使用NW.js为Mac OS的应用创建菜单 162

9.1.3使用Electron为Mac OS的应用创建菜单 163

9.1.4为Windows和Linux的应用创建菜单 166

9.1.5基于操作系统来选择渲染具体的菜单 173

9.2上下文菜单 174

9.2.1使用NW.js创建上下文菜单 174

9.2.2 NW.js中的上下文菜单是如何工作的 179

9.2.3设置菜单项图标 180

9.2.4使用Electron创建上下文菜单 181

9.2.5使用Electron添加上下文菜单 184

9.3小结 185

第10章 拖曳文件以及定制界面 186

10.1在应用中拖曳文件 186

10.1.1使用NW.js实现在应用中拖曳文件 187

10.1.2使用Electron实现拖曳功能 190

10.2模拟操作系统原生样式 191

10.2.1检测用户的操作系统 191

10.2.2使用NW.js检测操作系统 191

10.2.3使用Electron检测操作系统 192

10.2.4使用CSS匹配用户操作系统的样式 194

10.3小结 197

第11章 在应用中使用网络摄像头 198

11.1使用HTML5媒体捕捉API来实现相片快照 198

11.1.1解读NW.js版的应用 199

11.1.2使用Electron构建Facebomb应用 205

11.2小结 210

第12章 存储应用数据 211

12.1应该使用哪种数据存储方案 211

12.2使用localStorage API存储便笺数据 212

12.2.1使用Electron开发Let Me Remember应用 213

12.2.2使用NW.js开发Let Me Remember应用 216

12.3将待办事项应用移植为桌面应用 219

12.3.1使用NW.js移植TodoMVC Web应用 219

12.3.2使用Electron移植TodoMVC应用 220

12.4小结 222

第13章 从剪贴板复制和粘贴数据 223

13.1访问剪贴板数据 223

13.1.1使用NW.js创建Pearls应用 224

13.1.2使用Electron创建Pearls应用 228

13.1.3使用Electron将不同类型的数据写入剪贴板 231

13.2小结 232

第14章 绑定键盘快捷键 233

14.1使用NW.js创建贪吃蛇游戏 234

14.1.1使用NW.js在视窗获取焦点的时候实现键盘快捷键 242

14.1.2使用NW.js来创建全局键盘快捷键 243

14.2使用Electron为贪吃蛇游戏创建全局快捷键 245

14.3小结 247

第15章 制作桌面通知 248

15.1关于你要构建的应用 249

15.2使用Electron构建Watchy应用 249

15.3使用NW.js构建Watchy应用 254

15.4小结 257

第4部分 准备发布 261

第16章 测试桌面应用 261

16.1测试应用的不同方法 262

16.1.1测试驱动开发 262

16.1.2行为驱动开发 264

16.1.3不同层面的测试 265

16.2单元测试 265

16.2.1使用Mocha编写测试 266

16.2.2让待完成的测试变成执行通过的测试 268

16.3功能测试 271

16.3.1功能测试实践 272

16.3.2使用NW.js和ChromeDriver进行测试 272

16.4使用Spectron测试Electron应用 273

16.5集成测试 275

16.5.1 Cucumber介绍 276

16.5.2使用Cucumber和Spectron对Electron应用进行自动化测试 277

16.6小结 280

第17章 调试并提升应用性能 281

17.1了解你要调试的是什么 282

17.1.1确定问题根本原因的位置 283

17.1.2使用浏览器开发者工具进行调试 284

17.2修复bug 287

17.2.1使用Node.js的调试器来调试应用 288

17.2.2使用NW.js的开发者工具来调试应用 291

17.3解决性能问题 296

17.3.1 Network选项卡 296

17.3.2 Timeline选项卡 297

17.3.3 Profiles选项卡 299

17.4调试Electron应用 301

17.5小结 307

第18章 为多平台打包应用 308

18.1为应用创建可执行文件 309

18.1.1为Windows系统创建NW.js应用的可执行文件 309

18.1.2安装虚拟机 309

18.1.3为一个NW.js应用创建针对Windows系统的.exe文件 310

18.1.4为一个Electron应用创建Windows系统的可执行文件 311

18.2为Windows的应用创建启动安装器 314

18.2.1使用NW.js创建Windows系统启动安装器 314

18.2.2使用Electron创建Windows系统启动安装器 321

18.3为Mac OS创建NW.js应用的可执行文件 324

18.3.1创建Mac可执行应用 324

18.3.2为Mac OS创建Electron应用的可执行文件 327

18.4为Linux创建可执行应用 329

18.4.1为Linux创建独立的NW.js应用文件 330

18.4.2为Linux创建独立的Electron应用文件 331

18.5小结 333

附录A 安装Node.js 335