Electron基础入门教程使用Web技术开发跨平台桌面应用

我刚接触Electron,想用Web技术开发跨平台桌面应用,但有几个问题不太明白:

  1. Electron和传统Web开发有什么区别?主要优势在哪里?
  2. 搭建第一个Electron项目需要哪些基础环境配置?Node.js版本有要求吗?
  3. 如何实现桌面应用的原生功能调用,比如系统通知或文件操作?
  4. 打包后的应用体积较大,有什么优化方案?
  5. 跨平台开发时,需要特别注意哪些平台差异性问题?
    求有经验的大佬指点!
2 回复

Electron零基础入门教程学习https://www.bilibili.com/video/BV1Ub4y1n7YB

Electron 是一个基于 Web 技术(HTML、CSS、JavaScript)构建跨平台桌面应用程序的框架。以下是简单入门步骤:

  1. 安装 Node.js:Electron 依赖 Node.js,首先确保安装最新版本。

  2. 初始化项目

    mkdir my-electron-app
    cd my-electron-app
    npm init -y
    
  3. 安装 Electron

    npm install electron --save-dev
    
  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('activate', () => {
        if (BrowserWindow.getAllWindows().length === 0) {
          createWindow();
        }
      });
    });
    
    app.on('window-all-closed', () => {
      if (process.platform !== 'darwin') {
        app.quit();
      }
    });
    
  5. 创建 HTML 文件 index.html

    <!DOCTYPE html>
    <html>
    <head>
      <title>Electron App</title>
    </head>
    <body>
      <h1>Hello Electron!</h1>
    </body>
    </html>
    
  6. 运行项目: 在 package.json 中添加脚本:

    "scripts": {
      "start": "electron ."
    }
    

    然后执行:

    npm start
    
  7. 扩展功能:通过引入 ipc 模块实现主进程与渲染进程通信;可使用 React 或 Vue 等框架提升开发体验。

Electron 能轻松利用前端知识打造跨平台应用,但需注意资源占用问题。


Electron基础入门教程

什么是Electron?

Electron是一个使用JavaScript、HTML和CSS构建跨平台桌面应用程序的框架。它将Chromium和Node.js合并到一个运行时中,让你可以开发桌面应用同时保持前端开发体验。

基本环境搭建

  1. 首先确保已安装Node.js
  2. 创建项目文件夹并初始化
mkdir my-electron-app
cd my-electron-app
npm init -y
npm install electron --save-dev

基础应用结构

一个最简单的Electron应用需要三个文件:

  1. main.js - 主进程脚本
  2. index.html - 应用的界面
  3. package.json - 项目配置

示例代码

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)

index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Electron App</title>
</head>
<body>
    <h1>Hello Electron!</h1>
</body>
</html>

运行应用

在package.json中添加启动脚本:

{
  "scripts": {
    "start": "electron ."
  }
}

然后运行:

npm start

Electron核心概念

  1. 主进程:负责创建窗口和管理应用生命周期
  2. 渲染进程:每个窗口都是一个独立的渲染进程
  3. 进程间通信:使用ipcMain和ipcRenderer模块

进阶功能

  • 原生菜单和快捷键
  • 系统通知
  • 文件系统访问
  • 硬件访问
  • 应用打包分发

这是Electron的基础入门内容,掌握这些后可以进一步学习更高级的功能如Native API调用、性能优化等。

回到顶部