Electron学习

本文详细介绍了Electron技术,其结合Chromium浏览器和Node.js运行时,支持实时开发的桌面应用。文章重点讲解了主进程和渲染进程的角色、Electron的工作流程,以及关键的生命周期事件和nodemon的文件监控功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Electron技术架构:

本质是操作系统去进行交互   

Chormium 支持最新特性的浏览器       
         一个具备了最新功能的chrome浏览器,在它的内部去大量的使用es6,es7以及浏览器所支持的一些新的语法特性,利用html和css(web技术)来定制软件界面  自定义当前界面的展示样式

Node.js JavaScript运行时,可实现文件读写等以及本地命令的调用和执行等等操作       
        具备强大的生态圈,带来第三方扩展以及使用功能稳定的模块,对文件进行读写操作

Native apis 提供统一的原生界面能力         
        提供这样一个统一原生的界面操作能力,可以让我们直接与操作系统去进行通信,例如调出操作系统的系统通知,做一些快捷键,获取底层硬件的设备信息等等

Electron集成了Chormium与Node.js,是一个实时的框架,将Chormium和Node.js整合到一个运行环境当中,去实现一个跨平台、兼容性极好的桌面应用

Electron工作流程:

桌面应用是运行在不同操作系统上的一款软件,软件中的功能实现都是通过Native api去跟操作系统进行相应的交互

Electron的进程主要分为两类:主进程,渲染进程

Electron的内部提供了IPC和RPC的通信机制,通信行为:封装成IPCmain和IPCrender模块,通过模块再去调用相应的方法,可以去实现不同窗口间的数据传输

主进程

  1. 可以看做是 package.json 中 main 属性对应的文件
  2. 一个应用只会有一个主进程(在它里边也包含了chromium与nodejs的运行时环境) 
  3. 只有主进程可以进行GUI的API操作(调用的Native api) 
          如果说某个渲染进程他也想去操作原生的api,就需要先去和主进程呢建立通信,还是由主进程来完成具体的调用,之后的话再去通过主进程把这个结果传递回给渲染进程
  4. 主进程是可以管理所有的web界面,和这些web界面所对应的渲染进程的

渲染进程

  1. Windows 中展示的界面通过渲染进程表现(它的核心功能就是渲染web界面,可以去支持所有的dom操作,以及node api的调用操作)
  2. 一个应用可以有多个渲染进程
  3. 渲染进程也能够去通过主进程来访问原生的api,只不过要先去跟主进程建立通信

Electron生命周期:

生命周期事件
ready:app初始化完成   他会在electron完成初始化操作的时候被触发一次,由app对象来进行调用的,监听的目的一般是用于执行加载窗口的初始化操作,createWindow
dom-ready:一个窗口中的文本加载完成,可以去执行后续的dom操作,选择界面上的元素,由webContent对象来进行调用,
did-finsh-load:导航完成时触发,也就是选项卡的旋转器停止旋转的时候,并且指派了unload事件,由webContent对象来进行调用,
window-all-closed:所有窗口都被关闭时触发,如果没有监听这个事件,当所有的窗口都关闭的时候,应用程序就会默认的去执行退出操作,如果监听这个事件,就需要我们自己主动来决定是否将当前的app应用程序退出   注意:如果此时没有去在它里面执行退出操作,那么后续的before-quit,will-quit,quit就相当于是失效了
before-quit:在关闭窗口之前触发
will-quit:在窗口关闭并且应用退出时触发
quit:当所有窗口被关闭时触发
closed:当窗口关闭时触发,此时应删除窗口引用,之后保存窗口对象的实例就被回收了,将之前保存窗体的对象引用去进行删除

nodemon监控文件修改   nodemon是一个npm下载的全局依赖,可以在终端执行js文件,每次更改文件代码会热更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值