Electron基本概念

本文介绍了Electron的基本概念,包括主进程负责创建Web页面和管理进程通信,渲染进程提供Node.js与操作系统交互的能力,并且渲染进程间是隔离的。强调了在Electron中进程间通信的重要性,以及应用的一般结构,主进程由main.js脚本控制,UI基于index.html。

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


electron-banner

主进程(Main Process)

package.json中的main指定的脚本是主进程。主进程主要负责:

  • 创建Web页面(BrowserWindow实例)并管理Web页面;
  • 负责进程间通信;
  • 处理系统事件;

渲染进程(Renderer Process)

每一个Web页面都运行在各自的进程中,这里的进程就是渲染进程。Electron可以在Web页面中使用Node.js APIs与底层操作系统交互,这一点非常了不起,也是Electron应用于桌面应用开发的主要价值(我可能更关注的是通过Node.js访问操作系统硬件设备的能力)。

特点:

  • 渲染进程之间是隔离的;
  • 每一个渲染进程只关心自己的Web页面;
  • 在Web页面中不允许调用和本地GUI相关的APIs;
  • 如果Web页面需要执行GUI操作,则必须由渲染进程请求主进程代为执行;

注意:在通常的浏览器中,Web页面是运行在沙箱环境中,不允许访问本地资源(应该是处于用户数据安全性考虑)。

进程间通信

显然,这里的进程间通信包含两种情形:

  • 主进程和渲染进程通信:
    - [ipcRenderer](http://electron.atom.io/docs/api/ipc-renderer/)
    - [ipcMain](http://electron.atom.io/docs/api/ipc-main/)
    - [remote](http://electron.atom.io/docs/api/remote/)
  • 渲染进程之间通信:share data between web pages

应用结构

一般来说,Electron app的结构是这样的:

your-app/
├── package.json
├── main.js
└── index.html

package.json的格式与Node模块中的格式完全一样(从某种程度上看,Electron app也是一个Node模块,但是只能通过Electron执行,而不是Node执行)。

main.js则是主进程脚本。index.html就是应用的UI。

参考链接


阅读原文  |  作者官网  |  公众号  |  Feed  |  订阅  |  发私信
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值