互联网
类型
7.8
豆瓣评分
可以朗读
语音朗读
202千字
字数
2020-05-01
发行日期
展开全部
主编推荐语
Electron技术专家、GitHub/Gitee优秀开源项目作者撰写,系统讲解使用JavaScript,HTML和CSS构建Electron跨平台桌面应用开发。
内容简介
本书并不是一本专门讲解Electron的书,除Electron相关知识外,还介绍了大量的JavaScript、HTML、CSS、Node.js、桌面软件开发、多进程控制、安全、社区资源及背景故事等知识。Electron是本书的主线,每章知识全部是为Electron服务的,所以说本书的知识有广度。本书的知识也有深度。举个例子,初学者可能苦于渲染进程与主进程通信的难度而大量使用remote技术。但初学者不知道的是,remote技术使用不当可能导致某些关键环节有百倍千倍的性能差异,甚至会导致不易排查的错误和安全问题的出现。这些问题背后的原理是怎样的呢?类似这样有深度的知识,在本书中有很多。
目录
- 版权信息
- 推荐序
- 前言
- 第1章 认识Electron
- 1.1 Electron的由来
- 1.2 基于Electron的应用
- 1.3 Electron的生态
- 1.4 Electron的优势
- 1.5 Electron的不足
- 1.6 未来的竞争者PWA
- 1.7 本章小结
- 第2章 轻松入门
- 2.1 搭建开发环境
- 2.2 创建窗口界面
- 2.3 启动窗口
- 2.4 引用JavaScript
- 2.5 Electron API演示工具
- 2.6 试验工具Electron Fiddle
- 2.7 本章小结
- 第3章 主进程和渲染进程
- 3.1 区分主进程与渲染进程
- 3.2 进程调试
- 3.2.1 调试主进程
- 3.2.2 调试渲染进程
- 3.3 进程互访
- 3.3.1 渲染进程访问主进程对象
- 3.3.2 渲染进程访问主进程类型
- 3.3.3 渲染进程访问主进程自定义内容
- 3.3.4 主进程访问渲染进程对象
- 3.4 进程间消息传递
- 3.4.1 渲染进程向主进程发送消息
- 3.4.2 主进程向渲染进程发送消息
- 3.4.3 渲染进程之间消息传递
- 3.5 remote模块的局限性
- 3.6 本章小结
- 第4章 引入现代前端框架
- 4.1 引入webpack
- 4.1.1 认识webpack
- 4.1.2 配置webpack
- 4.1.3 主进程入口程序
- 4.1.4 渲染进程入口程序
- 4.1.5 自定义入口页面
- 4.1.6 使用jQuery
- 4.2 引入Angular
- 4.2.1 认识Angular
- 4.2.2 环境搭建
- 4.2.3 项目结构
- 4.3 引入React
- 4.3.1 认识React
- 4.3.2 环境搭建
- 4.3.3 项目结构
- 4.3.4 项目引荐
- 4.4 引入Vue
- 4.4.1 认识Vue
- 4.4.2 环境搭建
- 4.4.3 项目结构
- 4.4.4 调试配置
- 4.5 本章小结
- 第5章 窗口
- 5.1 窗口的常用属性及应用场景
- 5.2 窗口标题栏和边框
- 5.2.1 自定义窗口的标题栏
- 5.2.2 窗口的控制按钮
- 5.2.3 窗口最大化状态控制
- 5.2.4 防抖与限流
- 5.2.5 记录与恢复窗口状态
- 5.2.6 适时地显示窗口
- 5.3 不规则窗口
- 5.3.1 创建不规则窗口
- 5.3.2 点击穿透透明区域
- 5.4 窗口控制
- 5.4.1 阻止窗口关闭
- 5.4.2 多窗口竞争资源
- 5.4.3 模态窗口与父子窗口
- 5.4.4 Mac系统下的关注点
- 5.5 本章小结
- 第6章 界面
- 6.1 页面内容
- 6.1.1 获取webContents实例
- 6.1.2 页面加载事件及触发顺序
- 6.1.3 页面跳转事件
- 6.1.4 单页应用中的页内跳转
- 6.1.5 页面缩放
- 6.1.6 渲染海量数据元素
- 6.2 页面容器
- 6.2.1 webFrame
- 6.2.2 webview
- 6.2.3 BrowserView
- 6.3 脚本注入
- 6.3.1 通过preload参数注入脚本
- 6.3.2 通过executeJavaScript注入脚本
- 6.3.3 禁用窗口的beforeunload事件
- 6.4 页面动效
- 6.4.1 使用CSS控制动画
- 6.4.2 使用JavaScript控制动画
- 6.5 本章小结
- 第7章 数据
- 7.1 使用本地文件持久化数据
- 7.1.1 用户数据目录
- 7.1.2 读写本地文件
- 7.1.3 值得推荐的第三方库
- 7.2 使用浏览器技术持久化数据
- 7.2.1 浏览器数据存储技术对比
- 7.2.2 使用第三方库访问IndexedDB
- 7.2.3 读写受限访问的Cookie
- 7.2.4 清空浏览器缓存
- 7.3 使用SQLite持久化数据
- 7.4 本章小结
- 第8章 系统
- 8.1 系统对话框
- 8.1.1 使用系统文件对话框
- 8.1.2 关于对话框
- 8.2 菜单
- 8.2.1 窗口菜单
- 8.2.2 HTML右键菜单
- 8.2.3 系统右键菜单
- 8.2.4 自定义系统右键菜单
- 8.3 快捷键
- 8.3.1 监听网页按键事件
- 8.3.2 监听全局按键事件
- 8.4 托盘图标
- 8.4.1 托盘图标闪烁
- 8.4.2 托盘图标菜单
- 8.5 剪切板
- 8.5.1 把图片写入剪切板
- 8.5.2 读取并显示剪切板里的图片
- 8.6 系统通知
- 8.6.1 使用HTML API发送系统通知
- 8.6.2 主进程内发送系统通知
- 8.7 其他
- 8.7.1 使用系统默认应用打开文件
- 8.7.2 接收拖拽到窗口中的文件
- 8.7.3 使用系统字体
- 8.7.4 最近打开的文件
- 8.8 本章小结
- 第9章 通信
- 9.1 与Web服务器通信
- 9.1.1 禁用同源策略以实现跨域
- 9.1.2 Node.js访问HTTP服务的不足
- 9.1.3 使用WebSocket通信
- 9.1.4 截获并修改网络请求
- 9.2 与系统内其他应用通信
- 9.2.1 Electron应用与其他应用通信
- 9.2.2 网页与Electron应用通信
- 9.3 自定义协议(protocol)
- 9.4 使用socks5代理
- 9.5 本章小结
- 第10章 硬件
- 10.1 屏幕
- 10.1.1 获取扩展屏幕
- 10.1.2 在自助服务机中使用Electron
- 10.2 音视频设备
- 10.2.1 使用摄像头和麦克风
- 10.2.2 录屏
- 10.3 电源
- 10.3.1 电源的基本状态和事件
- 10.3.2 监控系统挂起与锁屏事件
- 10.3.3 阻止系统锁屏
- 10.4 打印机
- 10.4.1 控制打印行为
- 10.4.2 导出PDF
- 10.5 硬件信息
- 10.5.1 获取目标平台硬件信息
- 10.5.2 使用硬件串号控制应用分发
- 10.6 本章小结
- 第11章 调测
- 11.1 测试
- 11.1.1 单元测试
- 11.1.2 界面测试
- 11.2 调试
- 11.2.1 渲染进程性能问题追踪
- 11.2.2 自动追踪性能问题
- 11.2.3 性能优化技巧
- 11.2.4 开发环境调试工具
- 11.2.5 生产环境调试工具
- 11.3 日志
- 11.3.1 业务日志
- 11.3.2 网络日志
- 11.3.3 崩溃报告
- 11.4 本章小结
- 第12章 安全
- 12.1 保护源码
- 12.1.1 立即执行函数
- 12.1.2 禁用开发者调试工具
- 12.1.3 源码压缩与混淆
- 12.1.4 使用asar保护源码
- 12.1.5 使用V8字节码保护源码
- 12.2 保护客户
- 12.2.1 禁用Node.js集成
- 12.2.2 启用同源策略
- 12.2.3 启用沙箱隔离
- 12.2.4 禁用webview标签
- 12.3 保护网络
- 12.3.1 屏蔽虚假证书
- 12.3.2 关于防盗链
- 12.4 保护数据
- 12.4.1 使用Node.js加密解密数据
- 12.4.2 保护lowdb数据
- 12.4.3 保护electron-store数据
- 12.4.4 保护用户界面
- 12.5 提升稳定性
- 12.5.1 捕获全局异常
- 12.5.2 从异常中恢复
- 12.6 本章小结
- 第13章 发布
- 13.1 生成图标
- 13.2 生成安装包
- 13.3 代码签名
- 13.4 自动升级
- 13.5 本章小结
- 第14章 实战:自媒体内容发布工具
- 14.1 项目需求
- 14.2 项目架构
- 14.2.1 数据架构
- 14.2.2 技术架构
- 14.3 核心剖析
- 14.3.1 创建窗口并注入代码
- 14.3.2 开始同步文章数据
- 14.3.3 检查是否登录
- 14.3.4 上传文章图片
- 14.3.5 设置文章标题
- 14.3.6 设置文章正文
- 14.3.7 其他工作
- 14.4 辅助功能
- 14.4.1 图片缩放
- 14.4.2 用户身份验证
- 14.5 本章小结
- 附录A Mac代码签名
- 结语
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。