Electron学习 - 1

101 阅读1分钟

Electron世界

  1. 什么是Electron?
  • Electron是一个使用 JavaScript、HTML 和 CSS 构建跨平台桌面应用程序的框架。
  • 基于 [Chromium] 和 [Node.js] 
  • 跨平台,兼容Mac、Windows、Linux
  1. 谁在使用Electron? image.png

Electron基础知识

  1. 什么是进程?Process
  • 一个程序的执行实例
  • 系统中正在运行的一个程序,程序一旦运行就是进程
  1. 主进程 - Main Process
  • 可以使用与系统对接的Electron API - 创建菜单、上传文件等等
  • 创建渲染进程,Renderer Process
  • 全面支持Node.js
  • 只有一个,作为整个程序的入口点
  1. 渲染进程 - Renderer Process
  • 可以有多个,每个对应一个窗口
  • 每个都是一个单独的进程
  • 全面支持Node.js和DOM API
  • 可以使用一部分Electron提供的API
  1. 创建BrowserWindow
const { app, BrowserWindow } = require('electron')

app.on('ready', () => {
  const mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
      contextIsolation: false
    }
  })
  mainWindow.loadFile('index.html');
  const secondWindow = new BrowserWindow({
    width: 400,
    height: 300,
    webPreferences: {
      nodeIntegration: true,
      contextIsolation: false
    },
    parent: mainWindow
  })
  secondWindow.loadFile('second.html');
})
  1. 进程间通信
  • Electron使用IPC(interprocess communication)在进程间通信与Chromium完全一致
  • 进程之间的通讯方式: image.png