《Electron实战》中文版:使用Electron构建跨平台的应用程序简介

本文为《Electron实战》中文版第二部分内容介绍,私聊得样本电子书。

《Electron实战》中文版:使用Electron构建跨平台的应用程序简介

第二部分 使用Electron构建跨平台的应用程序

在第一部分,我讨论了是什么让Electron变得如此有趣和特别,但我们构建的第一个Electron应用程序非常简单——我承认——甚至有点缺乏创意。在第二部分,也就是本书的主要部分,我们将开始深入研究Electron更引人关注的功能。在这部分,我们将构建三个应用程序:一个带实时预览,并能直接访问文件系统的Markdown文本编辑器;一个宿主在系统菜单栏或系统托盘的剪贴板管理器,它可以读写系统剪贴板;以及一个使用React开发的打包清单程序,它能够直接读写本地数据库。

在第二部分,我会尽量构建足够简单的应用程序,以便能够在短时间内理解它们,同时又具有足够的复杂性,使我们能遇到一些更大、更复杂的应用程序需要解决的问题。

在第3章,我们将通过实现UI为我们的Markdown编辑器Fire Sale打下基础,还会研究调试Electron应用程序的细节。在第4章,我们将探讨Node.js主进程与这些浏览器窗口(称为渲染进程)的关系。我们将读写文件系统,并在进程之间来回发送数据。在第5章,我将介绍如何管理多个窗口,并深入研究Electron的进程间通信模型。

在第6章,介绍了一些与本机操作系统交互有关的重点内容,我们会根据是否有未保存的更改,来相应地更新标题栏。我们会将文档附加到操作系统最近访问的文档列表中,并监听是否有另一个应用程序修改了当前在Fire Sale中打开的文件。在第7章,探讨如何构建本地应用程序菜单和上下文菜单,这一般不是web和Node.js开发人员会经常遇到的内容。在第8章,我们将实现与主机操作系统的其他交互,以及在应用程序状态发生变化时启用和禁用菜单项来动态更新菜单,至此就完成了最后的收尾工作。

在第9章,我们将着手在web开发人员从未涉足过的地方构建应用程序:macOS的菜单栏和Windows中的系统托盘。Clipmaster是一个简单的应用程序,让你可以从系统剪贴板读取文本并将其存储在内存中。当选中其中一项时,可以将其写回剪贴板,以便后续粘贴使用,这是我在写这本书的过程中一直使用的一个应用程序。在第10章,我们将销毁整个应用程序并从头开始,在此过程中提供更健壮的UI。

在第11章之前,我们也才使用了一些非常有限的工具来操作DOM。在阅读第11章之前的章节时,你可能对如何集成你最喜欢的前端框架有很多想法。当我们看到像Babel、TypeScript或Sass这样的工具的实现比你想象的要容易时,你的耐心终是没有白费。我们将构建一个名为Jetsetter的简易清单管理器,用于跟踪你下一次旅程之前需要打包的东西。在这里我只使用了React,因为它具有最平缓的学习曲线。但我向你保证,对于Ember、Angular和Vue也是非常优秀的架构。

你可能使用过webpack或Browserify等工具,通过npm将依赖库添加进应用程序中。如果是这样,你可能会遇到一些禁止使用的模块,这些通常是使用C++编译的。一般来说,浏览器只能使用JavaScript,但是Electron应用程序不仅仅是浏览器应用程序。在第12章,我们会让Jetsetter直接使用一个可移植的SQLite数据库;会了解如何正确编译Electron附带Node.js的自定义模块;还会在一个基于浏览器的IndexedDB数据库中实现持久化存储,帮助你确定自己应用程序更倾向的方式。

在第13章,介绍了使用Spectron进行端到端测试,它是基于Selenium实现。在该章节,将向你介绍如何编写测试来提升Electron应用程序的性能。在第二部分结束时,你该对Electron所提供的一切感到满意了,并且会跃跃欲试地想要做些更有创造性的东西。


《Electron实战》中文版!


分享到:


相關文章: