上一篇 electron 渲染进程中使用node模块
下一篇 electron进程间通讯(IPC模块通讯)
目标:
了解electron主进程和渲染进程
electron 进程图
主进程
什么是electron主进程?
- electron 运行
package.json
的main
脚本的进程被称作主进程
electron主进程的相关/作用
- 每个electron只有一个主进程
- 用于管理原生GUI, 典型的窗口(BrowserWindow、Tray、Dock、Menu)
- 主进程用于创建渲染进程
- 主进程控制应用的生命周期
简单的说,electron项目的主进程只有一个, 主进程的执行代码需要写到main.js中, 起到统筹全局的作用
渲染进程
什么是electron渲染进程?
- electron 展示web页面的进程被称作主进程
electron主进程的相关/作用
- 通过Node.js、Electron提供的API与系统底层打交道
- 一个electron可以有多个渲染进程
主进程 API
- app:控制应用的事件生命周期
- autoUpdater:自动更新
- BrowserView:创建和控制视图
- BrowserWindow:创建和控制窗口
- contentTracing:跟踪并确定性能问题
- dialog:创建和控制本机系统对话框
- globalShortcut:监听系统快捷键
- inAppPurchase:(MAC专用)Mac App Store 的应用内购买
- ipcMain:从主模块到渲染模块(ipcRenderer)的异步通信
- Menu:创建远程应用以及上下文菜单
- MenuItem:在菜单中添加菜单项
- net:发出 HTTP或 HTTPS请求
- netLog:记录网络事件
- Notification:创建桌面通知
- powerMonitor:监视电源状态
- powerSaveBlocker:组织系统自动进入省电模式
- protocol:注册自定义协议并拦截基于协议的请求
- screen:检索有关屏幕大小、显示器、光标位置等的信息
- session:管理浏览器会话、cookie、缓存、代理设置等
- systemPreferences:获取系统配置信息
- TouchBar:(MAC专用)配置 TouchBar布局
- Tray:添加图标和上下文菜单到系统通知区
- webContents:渲染以及控制 web页面
渲染进程 API
- ipcRenderer:从渲染器进程到主进程的异步通信
- remote:在渲染进程中使用主进程模块
- webFrame:自定义渲染当前网页
- desktopCapturer:通过[navigator.mediaDevices.getUserMedia] API,可以访问那些用于从桌面上捕获音频和视频的媒体源信息
通用 API
- clipboard:在系统剪贴板上执行复制和粘贴操作
- crashReporter:将崩溃日志提交给远程服务器
- nativeImage:使用 PNG或 JPG 文件创建托盘、dock和应用程序图标
- shell:使用默认应用程序管理文件和 url