回顾
上一个星期我们 做了 electron 的环境搭建 以及参考官方文档快速实现了一个 hello world。
这周开始了解 electron 是如何工作的。
GO!
How to work
在我们深入了解 Electron 的文档API之前,我们需要说明一下在 Electron 中可能遇到的两种进程类型。 它们是完全不同的,因此理解它们非常重要。
Electron 分为 主进程 和 渲染器进程
主进程
Electron 运行 package.json
的 main.js
的进程被称为主进程。
在主进程中运行的脚本通过创建web页面来展示用户界面。
一个 Electron 应用只有一个主进程。
在普通的浏览器中,web页面通常在一个沙盒环境中运行,不被允许去接触原生的资源。
然而 Electron 的用户在 Node.js 的 API 支持下可以在页面中和操作系统进行一些底层交互。
比如文件的读写操作,可以通过 Node.js 的fs模块进行读写操作。
渲染器进程
渲染器进程就是我们在 Electron 运行时看到的UI,在浏览器上体现就是 WEB页面。
一个 Electron 应用可以拥有多个渲染器进程,并且它们不会相互影响,独立渲染。
主进程使用 BrowserWindow
实例创建页面
每个 BrowserWindow
实例都在自己的渲染进程里运行页面
当一个 BrowserWindow
实例被销毁后,相应的渲染进程也会被终止。
注意:在页面中调用与 GUI( 图形用户界面 Graphical User Interface ) 相关的原生 API 是不被允许的,因为在 web 页面里操作原生的 GUI 资源是非常危险的,而且容易造成资源泄露。 如果你想在 web 页面里使用 GUI 操作,其对应的渲染进程必须与主进程进行通讯,请求主进程进行相关的 GUI 操作。
怎么使用 Electron 的API
如果你了解 Node.js ,那么你一定知道。在 主进程和渲染进程中 ,你可以 通过require
的方式 将其包含在模块中以此,获取Electron的API
const electron = require('electron')
Week 02 到此为止,尽量每周一更
简书:https://www.jianshu.com/u/9ed17c03bf43
关注一哈,如果觉得不错的可以点个赞
有经济能力的可以赞赏支持一下
有问题可以留言,尽可能的解答