作品简介

本书并不是一本专门讲解Electron的书,除Electron相关知识外,还介绍了大量的JavaScript、HTML、CSS、Node.js、桌面软件开发、多进程控制、安全、社区资源及背景故事等知识。Electron是本书的主线,每章知识全部是为Electron服务的,所以说本书的知识有广度。本书的知识也有深度。举个例子,初学者可能苦于渲染进程与主进程通信的难度而大量使用remote技术。但初学者不知道的是,remote技术使用不当可能导致某些关键环节有百倍千倍的性能差异,甚至会导致不易排查的错误和安全问题的出现。这些问题背后的原理是怎样的呢?类似这样有深度的知识,在本书中有很多。

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

作品目录

  • 推荐序
  • 前言
  • 第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.3 进程互访
  • 3.4 进程间消息传递
  • 3.5 remote模块的局限性
  • 3.6 本章小结
  • 第4章 引入现代前端框架
  • 4.1 引入webpack
  • 4.2 引入Angular
  • 4.3 引入React
  • 4.4 引入Vue
  • 4.5 本章小结
  • 第5章 窗口
  • 5.1 窗口的常用属性及应用场景
  • 5.2 窗口标题栏和边框
  • 5.3 不规则窗口
  • 5.4 窗口控制
  • 5.5 本章小结
  • 第6章 界面
  • 6.1 页面内容
  • 6.2 页面容器
  • 6.3 脚本注入
  • 6.4 页面动效
  • 6.5 本章小结
  • 第7章 数据
  • 7.1 使用本地文件持久化数据
  • 7.2 使用浏览器技术持久化数据
  • 7.3 使用SQLite持久化数据
  • 7.4 本章小结
  • 第8章 系统
  • 8.1 系统对话框
  • 8.2 菜单
  • 8.3 快捷键
  • 8.4 托盘图标
  • 8.5 剪切板
  • 8.6 系统通知
  • 8.7 其他
  • 8.8 本章小结
  • 第9章 通信
  • 9.1 与Web服务器通信
  • 9.2 与系统内其他应用通信
  • 9.3 自定义协议(protocol)
  • 9.4 使用socks5代理
  • 9.5 本章小结
  • 第10章 硬件
  • 10.1 屏幕
  • 10.2 音视频设备
  • 10.3 电源
  • 10.4 打印机
  • 10.5 硬件信息
  • 10.6 本章小结
  • 第11章 调测
  • 11.1 测试
  • 11.2 调试
  • 11.3 日志
  • 11.4 本章小结
  • 第12章 安全
  • 12.1 保护源码
  • 12.2 保护客户
  • 12.3 保护网络
  • 12.4 保护数据
  • 12.5 提升稳定性
  • 12.6 本章小结
  • 第13章 发布
  • 13.1 生成图标
  • 13.2 生成安装包
  • 13.3 代码签名
  • 13.4 自动升级
  • 13.5 本章小结
  • 第14章 实战:自媒体内容发布工具
  • 14.1 项目需求
  • 14.2 项目架构
  • 14.3 核心剖析
  • 14.4 辅助功能
  • 14.5 本章小结
  • 附录A Mac代码签名
  • 结语
展开全部