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

深入浅出Electron:原理、工程与实践百度网盘pdf下载

作者:
简介:本篇提供书籍《深入浅出Electron:原理、工程与实践》百度网盘pdf下载
出版社:浙刊总社图书专营店
出版时间:2021-12
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

基本信息

  • 商品名称:深入浅出Electron:原理、工程与实践
  • 作者:刘晓伦
  • 定价:99
  • 出版社:机械工业
  • 书号:9787111696094

其他参考信息(以实物为准)

  • 出版时间:2021-12-01
  • 印刷时间:2021-12-01
  • 版次:1
  • 印次:1
  • 开本:16开
  • 包装:平装
  • 页数:305

编辑推荐语

(1)作者资历深厚:海康威视桌面端技术专家,10余年研发经验,一直聚焦在桌面开发领域,为多家世界500强企业提供技术服务。 (2)作者经验丰富:Electron的早期实践者和不遗余力的布道者,对Electron有持续、深入的研究,有大量的项目经验。 (3)深入讲解原理:深入分析了Electron及其周边生态工具的底层原理,让读者在遇到问题时能迅速定位到问题的本质。 (4)注重工程实践:不仅讲解了如何构建和驾驭大型Electron工程项目,而且还针对生产环境中的各种常见技术挑战给出了技术方案。 (5)不止于Electron:Electron并不能解决桌面应用开发的所有问题,故本书根据作者宝贵的经验,针对性地讲解了Electron的周边工具,掌握Electron的全栈技术。

内容提要

内容简介<br>这是一本能帮助读者夯实Electron基础进而开发出稳定、健壮的Electron应用的著作。<br>书中对Electron的工作原理、大型工程构建、常见技术方案、周边生态工具等进行了细致、深入地讲解。<br>工作原理维度:<br>对Electron及其周边工具的原理进行了深入讲解,包括Electron依赖包的原理、Electron原理、electron-builder的原理等。<br>工程构建维度:<br>讲解了如何驾驭和构建一个大型Electron工程,包括使用各种现代前端构建工具构建Electron工程、自动化测试、编译和调试Electron源码等。<br>技术方案维度:<br>总结了实践过程中遇到的一些技术难题以及应对这些难题的技术方案,包括跨进程消息总线、窗口池、大数据渲染、点对点通信等。<br>周边工具维度:<br>作者根据自己的“踩坑”经验和教训,有针对性地讲解了大量Electron的周边工具、库和技术,涉及Qt开发框架、C++语言、Node.js框架甚至Vite构建工具等,帮助读者拓宽技术广度,掌握开发Electron应用需要的全栈技术。

作者简介

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

目录

前言<br/> 部分 原理<br/>第1章 Electron包原理解析 3<br/>1.1 安装失败 3<br/>1.2 npm钩子 4<br/>1.3 镜像策略 6<br/>1.4 缓存策略 9<br/>1.5 注入命令 11<br/>1.6 共享环境变量 13<br/>1.7 合适的版本 15<br/>第2章 Electron原理解析 17<br/>2.1 Chromium原理 17<br/>2.2 Node.js原理 20<br/>2.3 源码结构 23<br/>2.4 主进程Node.js环境 25<br/>2.5 公开API 27<br/>2.6 不同进程不同的API 31<br/>2.7 加载应用入口脚本 32<br/>2.8 提供系统底层支持 34<br/>2.9 解析asar文件 37<br/>2.10 渲染进程Node.js环境 41<br/>2.11 支持不同的操作系统 42<br/>2.12 进程间通信 45<br/>2.13 页面事件 48<br/>第3章 electron-builder原理解析 52<br/>3.1 使用方法 52<br/>3.2 原理介绍 53<br/>3.3 伪交叉编译 57<br/>3.4 辅助工具app-builder 59<br/>3.5 为生产环境安装依赖 61<br/>3.6 生成asar 62<br/>3.7 修改可执行程序 63<br/>3.8 NSIS介绍 66<br/>3.9 生成安装包 68<br/>第4章 electron-updater原理解析 71<br/>4.1 使用方法 71<br/>4.2 如何校验新版本的安装包 73<br/>4.3 Windows应用升级原理 75<br/>4.4 Mac应用升级原理 78<br/>第5章 其他重要原理 80<br/>5.1 缓存策略与控制 80<br/>5.2 V8脚本执行原理 83<br/>5.3 V8垃圾收集原理 87<br/>第二部分 工程<br/>第6章 使用Vite构建Electron项目 91<br/>6.1 Vite为什么如此之快 91<br/>6.2 大型Electron工程结构 92<br/>6.3 定义启动脚本 93<br/>6.4 启动开发服务 95<br/>6.5 设置环境变量 96<br/>6.6 构建主进程代码 98<br/>6.7 启动Electron子进程 100<br/>6.8 配置调试环境 102<br/>6.9 打包源码 104<br/>6.10 打包依赖 106<br/>6.11 制成安装程序 108<br/>6.12 引入TypeScript支持 111<br/>第7章 使用webpack构建Electron项目 113<br/>7.1 需求起源 113<br/>7.2 准备环境 114<br/>7.3 编译主进程代码 116<br/>7.4 启动多入口页面调试服务 117<br/>7.5 启动Electron子进程 120<br/>7.6 制成安装包 121<br/>7.7 注册应用内协议 123<br/>第8章 使用Rollup构建Electron项目 125<br/>8.1 Rollup与Svelte 125<br/>8.2 准备开发环境 127<br/>8.3 制成安装包 130<br/>第9章 自动化测试 134<br/>9.1 集成Spectron及Spectron原理 134<br/>9.2 在Jest测试框架中使用Spectron 137<br/> 0章 编译与调试Electron源码 141<br/>10.1 build-tools构建工具介绍 141<br/>10.2 手工构建Electron源码 142<br/>10.3 构建不同版本的Electron 150<br/>10.4 调试Electron源码 151<br/>10.5 调试崩溃报告 156<br/> 1章 应用分发 162<br/>11.1 源码混淆 162<br/>11.2 应用签名 165<br/>11.3 静默安装与开机自启 168<br/>11.4 自定义安装画面 170<br/>11.5 软件防杀 173<br/> 2章 逆向分析 174<br/>12.1 用户安装目录 174<br/>12.2 用户数据目录 175<br/>12.3 注册表键值 177<br/>12.4 自研逆向调试工具 178<br/> 3章 其他工程要点 183<br/>13.1 使用D8调试工具 183<br/>13.2 内存消耗监控 185<br/>13.3 子应用管控 189<br/>第三部分 实践<br/> 4章 跨进程消息总线 195<br/>14.1 前端事件机制 195<br/>14.2 Node.js的事件机制 197<br/>14.3 Electron进程间通信 198<br/>14.4 跨进程事件 200<br/>14.5 使用Promise封装事件 203<br/>14.6 基于HTML API的跨进程事件 205<br/>14.7 跨进程通信带来的问题 207<br/> 5章 窗口池 209<br/>15.1 窗口渲染过慢 209<br/>15.2 构建窗口池 210<br/>15.3 构建窗口实例 212<br/>15.4 通用的窗口标题栏 214<br/>15.5 消费窗口池中的窗口 215<br/>15.6 模拟模态窗口 216<br/> 6章 原生模块 219<br/>16.1 需求起源 219<br/>16.2 原生模块开发方式 221<br/>16.3 传统原生模块开发 223<br/>16.4 使用Node-API开发原生模块 225<br/>16.5 Node-API进阶 229<br/>16.6 Electron环境下的原生模块 233<br/> 7章 应用控制 236<br/>17.1 应用单开 236<br/>17.2 注册唤起协议 237<br/>17.3 唤起外部应用 238<br/>17.4 常规截图方案介绍 239<br/>17.5 使用第三方截图库 241<br/> 8章 Electron与Qt的整合 245<br/>18.1 需求起源 245<br/>18.2 命名管道服务端 247<br/>18.3 命名管道客户端 250<br/>18.4 通信协议 253<br/>18.5 入口应用配置 256<br/>18.6 应用退出的事件顺序 258<br/>18.7 关闭窗口的问题 260<br/> 9章 大数据渲染 262<br/>19.1 常规无限滚动方案介绍 262<br/>19.2 DOM结构与样式 265<br/>19.3 模拟滚动条 267<br/>19.4 处理滚动事件 268<br/>19.5 滚动条的显隐动效 270<br/>19.6 内置的数据持久化能力 271<br/>第20章 点对点通信 274<br/>20.1 WebRTC原理 274<br/>20.2 构建WebRTC服务器 275<br/>20.3 发送超大文件 276<br/>20.4 接收超大文件 280<br/>第21章 加密信息提取 283<br/>21.1 需求起源 283<br/>21.2 分析调试源码 284<br/>21.3 暴露解密方法 286<br/>21.4 转发请求 287<br/>21.5 注入脚本 288<br/>21.6 监控cookie 289<br/>第22章 其他实践指导 292<br/>22.1 分析首屏加载时间 292<br/>22.2 模拟弱网环境 294<br/>22.3 数据存储方案性能对比 296<br/>22.4 加载本地图片 302<br/>22.5 桌面端编程的生态演化 302<br/>22.6 Electron的竞争对手 304