electron分享 - electron简介| 8月更文挑战

378 阅读2分钟

写在最前

因为公司新产品需要支持一些复杂的键盘快捷键操作,以及对于多平台的支持,所以领导让我们提前准备这方的知识。由于之前一直在做后端开发,本人在学习electron的过程中也是踩了不少坑,本篇文章也是从零开始记录了electron的学习过程,适合小白食用。

electron是什么

Electron是一个基于Google的Chromium内核和 Node.js,使用web页面作为GUI的跨平台桌面级应用开发框架,兼容Windows 和 Linux、 Mac。可以说electron 就是一个带了 Chrome 浏览器内核的壳子。

Electron + Vue/React/Angular = 桌面应用

为什么要用electron

  1. 跨平台 可以打包成Windows 和 Linux、Mac三个平台的应用程序

  2. 开发门槛低 - 能够熟练进行前端开发即可(不像其他的Qt、Winform这些,需要单独学习C++、.NET,学习成本太高)

  3. 社区活跃,大厂也有较多使用
    e.g. VS Code   GitHub   钉钉   飞书

  4. 可以操控系统底层API(如监听键盘事件-实现应用快捷键) 这也是资金系统(前端)考虑使用electron的重要原因

  5. 兼容性 不必考虑B/S模式下,浏览器兼容问题

如何使用electron(结合Vue)

electron基本知识介绍


【主进程】
Electron 运行 package.json 的 main 脚本(main.js)的进程被称为主进程。 在主进程中运行的脚本通过创建web页面来展示用户界面(首页)。 一个 Electron 应用总只能有一个主进程。

【渲染进程】
由于 Electron 使用了 Chromium 来展示 Web 页面,所以 Chromium 的多进程架构也被使用到。 每个 Electron 中的 Web 页面运行在它自己的渲染进程中。在普通的浏览器中,Web页面通常在一个沙盒环境中运行,不被允许去接触原生的资源。 然而 Electron 允许用户在 Node.js 的 API 支持下可以在页面中和操作系统进行一些底层交互。