深入浅出Electron:原理、工程与实践

深入浅出Electron:原理、工程与实践

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

海康威视Electron专家撰写,原理、工程构建、技术方案、工具4维度教你开发稳定、健壮Electron应用。

内容简介

这是一本能帮助读者夯实Electron基础进而开发出稳定、健壮的Electron应用的著作。

书中对Electron的工作原理、大型工程构建、常见技术方案、周边生态工具等进行了细致、深入地讲解。

工作原理维度:对Electron及其周边工具的原理进行了深入讲解,包括Electron依赖包的原理、Electron原理、electron-builder的原理等。

工程构建维度:讲解了如何驾驭和构建一个大型Electron工程,包括使用各种现代前端构建工具构建Electron工程、自动化测试、编译和调试Electron源码等。

技术方案维度:总结了实践过程中遇到的一些技术难题以及应对这些难题的技术方案,包括跨进程消息总线、窗口池、大数据渲染、点对点通信等。

周边工具维度:作者根据自己的“踩坑”经验和教训,有针对性地讲解了大量Electron的周边工具、库和技术,涉及Qt开发框架、C++语言、Node.js框架甚至Vite构建工具等,帮助读者拓宽技术广度,掌握开发Electron应用需要的全栈技术。

作者简介

作者刘晓伦,资深技术专家,有十余年研发经验,是Electron及其相关技术在企业应用领域的早期实践者,GitHub/Gitee优秀开源项目作者。作者还为Electron项目提交过数个Issue和Pull Request,均被官方接纳。曾任原远传研发中心负责人、小远机器人研发总监。现在担任一家创业公司的技术负责人,负责的产品以Electron为主要技术方向。除此之外,作者还有着十余年的前端及C (Qt)的开发经验,深入研究过Chromium的源码及相关的协议(DevTools Protocol和V8 Debugger Protocol),其主导研发的产品为数家世界五百强企业提供服务。

章节目录

版权信息

内容简介

作者介绍

推荐语

前言

第一部分 原理

第1章 Electron包原理解析

1.1 安装失败

1.2 npm钩子

1.3 镜像策略

1.4 缓存策略

1.5 注入命令

1.6 共享环境变量

1.7 合适的版本

第2章 Electron原理解析

2.1 Chromium原理

2.2 Node.js原理

2.3 源码结构

2.4 主进程Node.js环境

2.5 公开API

2.6 不同进程不同的API

2.7 加载应用入口脚本

2.8 提供系统底层支持

2.9 解析asar文件

2.10 渲染进程Node.js环境

2.11 支持不同的操作系统

2.12 进程间通信

2.13 页面事件

第3章 electron-builder原理解析

3.1 使用方法

3.2 原理介绍

3.3 伪交叉编译

3.4 辅助工具app-builder

3.5 为生产环境安装依赖

3.6 生成asar

3.7 修改可执行程序

3.8 NSIS介绍

3.9 生成安装包

第4章 electron-updater原理解析

4.1 使用方法

4.2 如何校验新版本的安装包

4.3 Windows应用升级原理

4.4 Mac应用升级原理

第5章 其他重要原理

5.1 缓存策略与控制

5.2 V8脚本执行原理

5.3 V8垃圾收集原理

第二部分 工程

第6章 使用Vite构建Electron项目

6.1 Vite为什么如此之快

6.2 大型Electron工程结构

6.3 定义启动脚本

6.4 启动开发服务

6.5 设置环境变量

6.6 构建主进程代码

6.7 启动Electron子进程

6.8 配置调试环境

6.9 打包源码

6.10 打包依赖

6.11 制成安装程序

6.12 引入TypeScript支持

第7章 使用webpack构建Electron项目

7.1 需求起源

7.2 准备环境

7.3 编译主进程代码

7.4 启动多入口页面调试服务

7.5 启动Electron子进程

7.6 制成安装包

7.7 注册应用内协议

第8章 使用Rollup构建Electron项目

8.1 Rollup与Svelte

8.2 准备开发环境

8.3 制成安装包

第9章 自动化测试

9.1 集成Spectron及Spectron原理

9.2 在Jest测试框架中使用Spectron

第10章 编译与调试Electron源码

10.1 build-tools构建工具介绍

10.2 手工构建Electron源码

10.3 构建不同版本的Electron

10.4 调试Electron源码

10.5 调试崩溃报告

第11章 应用分发

11.1 源码混淆

11.2 应用签名

11.3 静默安装与开机自启

11.4 自定义安装画面

11.5 软件防杀

第12章 逆向分析

12.1 用户安装目录

12.2 用户数据目录

12.3 注册表键值

12.4 自研逆向调试工具

第13章 其他工程要点

13.1 使用D8调试工具

13.2 内存消耗监控

13.3 子应用管控

第三部分 实践

第14章 跨进程消息总线

14.1 前端事件机制

14.2 Node.js的事件机制

14.3 Electron进程间通信

14.4 跨进程事件

14.5 使用Promise封装事件

14.6 基于HTML API的跨进程事件

14.7 跨进程通信带来的问题

第15章 窗口池

15.1 窗口渲染过慢

15.2 构建窗口池

15.3 构建窗口实例

15.4 通用的窗口标题栏

15.5 消费窗口池中的窗口

15.6 模拟模态窗口

第16章 原生模块

16.1 需求起源

16.2 原生模块开发方式

16.3 传统原生模块开发

16.4 使用Node-API开发原生模块

16.5 Node-API进阶

16.6 Electron环境下的原生模块

第17章 应用控制

17.1 应用单开

17.2 注册唤起协议

17.3 唤起外部应用

17.4 常规截图方案介绍

17.5 使用第三方截图库

第18章 Electron与Qt的整合

18.1 需求起源

18.2 命名管道服务端

18.3 命名管道客户端

18.4 通信协议

18.5 入口应用配置

18.6 应用退出的事件顺序

18.7 关闭窗口的问题

第19章 大数据渲染

19.1 常规无限滚动方案介绍

19.2 DOM结构与样式

19.3 模拟滚动条

19.4 处理滚动事件

19.5 滚动条的显隐动效

19.6 内置的数据持久化能力

第20章 点对点通信

20.1 WebRTC原理

20.2 构建WebRTC服务器

20.3 发送超大文件

20.4 接收超大文件

第21章 加密信息提取

21.1 需求起源

21.2 分析调试源码

21.3 暴露解密方法

21.4 转发请求

21.5 注入脚本

21.6 监控cookie

第22章 其他实践指导

22.1 分析首屏加载时间

22.2 模拟弱网环境

22.3 数据存储方案性能对比

22.4 加载本地图片

22.5 桌面端编程的生态演化

22.6 Electron的竞争对手

深入浅出Electron:原理、工程与实践是2021年由机械工业出版社华章分社出版,作者刘晓伦。

得书感谢您对《深入浅出Electron:原理、工程与实践》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
深度学习原理与 TensorFlow实践 电子书
本书介绍了深度学习原理与TensorFlow实践。着重讲述了当前学术界和工业界的深度学习核心知识:机器学习概论、神经网络、深度学习。着重讲述了深度学习的实现以及深度学习框架TensorFlow:Python编程基础、TensorFlow编程基础、TensorFlow模型、TensorFlow编程实践、TensorFlowLite和TensorFlow.js、TensorFlow案例--医学应用和S
推荐系统技术原理与实践 电子书
本书系统介绍推荐系统的技术理论和实践。首先介绍推荐系统的基础知识;然后介绍推荐系统常用的机器学习和深度学习模型;接着重点介绍推荐系统的4层级联架构,包括召回、粗排、精排和重排,以及谷歌、阿里巴巴等大型互联网公司在4层级联架构中的模型设计和实现原理;紧接其后介绍多目标排序在推荐系统中的应用,具体介绍阿里巴巴、谷歌等大型互联网公司的实践;最后从不同角度审视推荐系统,介绍公平性问题、知识蒸馏、冷启动等各
信息安全工程与实践 电子书
本书参考信息安全工程与管理领域的**新成果,结合目前信息安全教学的需要,全面系统的讲述了信息安全工程以及安全项目管理的概念、原理和方法,通过信息安全工程实践和安全项目管理实训,使读者能够理论联系实际,全面掌握信息安全工程与管理的体系结构。
分布式架构原理与实践 电子书
本书从软件结构的发展历史入手,描述了分布式架构的特性和存在的问题,并围绕这些问题展开了分析和实践。
软件定义网络核心原理与应用实践 电子书
本书分为核心原理和应用实践两大部分,对软件定义网络(SDN)技术进行了全面剖析和深入解读。第一部分首先阐述了SDN的设计思想与体系架构,详细分析了软件定义网络的控制转发分离和可编程性两个突出属性,其次介绍了以OpenFlow为代表的SDN南向接口协议,以及北向和东向接U协议,接下来根据SDN的层次化架构,依次介绍了SDN数据平面、控制平面以及SDN应用案例,最后梳理总结J,SDN标准化进展以及学术