Electron 跨平台开发实战
Electron 跨平台开发实战
内容简介
如果能够使用 Web 开发技能创建桌面应用,岂不是美事一桩?Electron 正是一个用以实现此类需求的框架。不管是在哪个操作系统上,Electron 都能让我们使用 JavaScript 和 Node 创建出简洁、时髦的桌面应用。在基于 Electron 创建工具、游戏和软件的过程中,我们可以充分感受到 Electron 的快捷、实用和趣味性。
《Electron 跨平台开发实战》讲述如何使用 JavaScript、Node 和 Electron 框架创建跨平台应用。在创建一个读取和渲染 Markdown 文件的文本编辑器应用的过程中,读者将学会像一名桌面开发者那样去思考。
《Electron 跨平台开发实战 /Web 开发经典丛书》还讲解如何为应用添加各种与操作系统有关的功能,包括访问文件系统、定制菜单和访问系统剪贴板,以及如何使用 Chromium 的工具分发已完工的产品。
此外,《Electron 跨平台开发实战 /Web 开发经典丛书》还介绍数据存储、性能优化和自动化测试等主题。
《Electron 跨平台开发实战 /Web 开发经典丛书》主要内容:
- 为 macOS、Windows 和 Linux 平台创建应用
- 使用原生操作系统 API
- 使用 React 等第三方框架
- 将应用部署到 MacAppStore
读者对象:
读者需要具备中级 JavaScript 和 Node 技能,但无须具有任何桌面应用开发经验。
作者简介
史蒂文·金尼(Steve Kinney),SendGrid 的首席工程师,同时也是 Frontend Masters 的一名讲师和 DinosaurjS 技术会议(举办于科罗拉多州丹佛市)的组织者。
精彩书评
★“不仅告诉你 Electron 为何物,而且还教你编写复杂的 Electron 应用程序。”
——Alexey Galiullin, Voiceworks
★“让我能够快速创建自用的日常工具。”
——Phillippe Charriere, GtLab
★“快速阅读,轻松理解。”
——Jay Kelkar, Kelkar Systems
★“终于,JavaScript 无所不在!”
——William F.Wheeler,咨询顾问
目录
第 I 部分 Electron 入门知识
第 1 章 介绍 Electron
- 1.1 什么是 Electron
- 1.1.1 什么是 Chromium Content Module
- 1.1.2 什么是 N0dejs
- 1.2 哪些人在使用 E1ectron
- 1.3 阅读本书之前,需要知道些什么
- 1.4 为何要使用 Electron
- 1.4.1 重用现有技能
- 1.4.2 访问原生操作系统 API
- 1.4.3 更高运行权限,更少功能限制
- 1.4.4 在浏览器环境中使用 Node 的功能
- 1.4.5 离线优先
- 1.5 Electron 的工作原理
- 1.5.1 主进程
- 1.5.2 渲染器进程
- 1.6 对比 Electron 与 NW.js
- 1.7 本章小结
第 2 章 创建第一个 Electron 应用
- 2.1 创建一个书签列表应用
- 2.1.1 组织 Electron 应用的结构
- 2.1.2 package.json
- 2.1.3 在项目中下载并安装 Electron
- 2.2 使用主进程
- 2.3 创建一个渲染器进程
- 2.3.1 从渲染器进程加载代码
- 2.3.2 在渲染器进程中引入文件
- 2.3.3 在渲染器进程中添加样式
- 2.4 实现 UI 界面
- 2.4.1 在 Electron 中发出跨域请求
- 2.4.2 解析响应文本
- 2.4.3 使用 Web Storage API 存储从响应中得到的信息
- 2.4.4 显示请求的结果
- 2.4.5 预防错误
- 2.4.6 - 个不期而至的 bug
- 2.5 本章小结
第 II 部分 使用日 ectron 创建跨平台应用
第 3 章 创建一个笔记应用
- 3.1 定义应用的目标
- 3.2 打下基础
- 3.3 初始化并启动应用
- 3.3.1 实现 UI 界面
- 3.3.2 优雅地显示浏览器窗口
- 3.4 实现基本功能
- 3.5 调试 Electron 应用
- 3.5.1 调试渲染器进程
- 3.5.2 调试主进程
- 3.5.3 使用 Vsual Studio Code 调试主进程
- 3.6 本章小结
第 4 章 使用原生文件对话框与实现跨进程通信
- 4.1 触发原生文件对话框
- 4.2 使用 Node 读文件内容
- 4.2.1 限定允许打开的文件类型
- 4.2.2 在 macOS 系统中实现工作表对话框
- 4.3 实现跨进程通信
- 4.4 使用跨进程通信调用文件打开功能
- 4.4.1 理解 CommonjS 模块系统
- 4.4.2 引入其他进程的功能
- 4.5 从主进程向渲染器进程发送内容
- 4.6 本章小结
第 5 章 创建多窗口应用
- 5.1 创建和管理多个窗口
- 5.1.1 主进程与多个窗口之间的通信
- 5.1.2 将指向当前窗口的引用传给主进程
- 5.2 改进新建窗口的用户体验
- 5.3 与 macOS 集成
- 5.4 本章小结
第 6 章 操作文件
- 6.1 跟踪当前打开的文件
- 6.1.1 使用当前文件的名称更新窗口标题
- 6.1.2 检测是否修改过当前文件
- 6.1.3 启用 UI 界面上的 Save File 和 Revert 按钮
- 6.1.4 更新 macOS 系统的展示文件
- 6.2 跟踪最近打开的文件
- 6.3 保存文件
- 6.3.1 导出渲染的 HTML 内容
- 6.3.2 常用路径
- 6.3.3 从渲染器进程保存文件
- 6.3.4 保存当前文件
- 6.3.5 回滚文件
- 6.4 通过拖曳打开文件
- 6.4.1 忽略无关区域的拖曳操作
- 6.4.2 提供可视化反馈
- 6.4.3 打开拖曳过来的文件
- 6.5 监控文件的变动
- 6.6 丢弃未保存的修改前提示用户
- 6.7 本章小结
第 7 章 创建应用菜单和上下文菜单
第 III 部分 部署 Electron 应用
- 附录 Fire Sale 和 Clipmaster 9000 的源代码