Electron框架

阅读数:100 评论数:0

跳转到新版页面

分类

html/css/js

正文

一、概述

Electron 是一个开源框架,用于构建跨平台的桌面应用程序。它由 GitHub 开发和维护,结合了 Chromium 和 Node.js 的功能,使开发者能够使用 Web 技术(如 HTML、CSS 和 JavaScript)创建桌面应用程序。

1、架构

Electron 的架构主要包括两个进程:主进程(Main Process)和渲染进程(Renderer Process)

(1)主进程

  • 负责控制应用的生命周期和系统级操作。
  • 可以创建和管理多个渲染进程。
  • 使用 Node.js API 进行文件系统操作、网络请求等。

(2)渲染进程

  • 每个窗口(或标签页)都有一个独立的渲染进程。
  • 使用 Chromium 渲染页面,类似于一个独立的浏览器实例。
  • 可以使用 Web 技术(HTML、CSS、JavaScript)来构建用户界面。

2、优点

  • 开发效率高:使用 Web 技术和现有的前端工具链,开发桌面应用的效率高。

  • 跨平台支持:一次开发,多平台运行,减少了维护和开发成本。

  • 活跃的社区:Electron 拥有一个活跃的社区,提供了大量的插件、工具和示例代码。

  • 快速原型开发:适合快速原型开发和 MVP(最小可行产品)构建。

3、缺点

  • 性能问题:由于使用 Chromium 渲染,Electron 应用的内存和 CPU 占用可能较高,尤其是对于大型应用。

  • 应用体积大:Electron 应用通常较大,因为需要包含 Chromium 和 Node.js 的运行时。

  • 安全性问题:需要特别注意安全性,防止跨站脚本攻击(XSS)和其他安全漏洞。

二、创建一个简单的Electron应用

1、安装Electron

npm install electron --save-dev

2、创建项目结构

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

3、编写package.json

{
  "name": "my-electron-app",
  "version": "1.0.0",
  "main": "main.js",
  "scripts": {
    "start": "electron ."
  },
  "devDependencies": {
    "electron": "^latest"
  }
}

4、编写main.js

const { app, BrowserWindow } = require('electron');

function createWindow() {
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true
    }
  });

  win.loadFile('index.html');
}

app.whenReady().then(createWindow);

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit();
  }
});

app.on('activate', () => {
  if (BrowserWindow.getAllWindows().length === 0) {
    createWindow();
  }
});

5、编写index.html

<!DOCTYPE html>
<html>
<head>
  <title>My Electron App</title>
</head>
<body>
  <h1>Hello, Electron!</h1>
</body>
</html>

6、运行应用

npm start



相关推荐

一、概述 npm的全称是Node Package Manager,是随同NodeJS一起安装的包管理和发布工具。 不过现在更推荐使用pnpm工具,使用过pnpm就真得不太愿意用npm了,因此pnpm一

一、概述 使用nvm可以在同一台机器上安装和切换不同版本node的工具。 二、使用 1、下载+安装 https://github.com/coreybutler/nvm-windows/release