Skip to content
导航

Electron

Electron是一个使用 JavaScript 构建桌面应用程序的框架。

Electron 应用相当于一个node.js启动的,使用Chromium内核的浏览器应用。在浏览器及Node.js的能力基础上,Electron还提供了API控制桌面应用的部分功能,例如托盘图标、自定义任务栏、系统级别快捷键等。

对比竞品 Tauri

Tauri 简单介绍是一个展示前端页面的 Rust 应用,它调用系统的 Webview 组件展示网页,因此打包体积很轻量。

角度ElectronTauri
发布年份20132020
兼容性最好
包体积很大很小
启动速度
技术栈前端JS + 后端Node.js前端JS + 后端Rust
(计划后端支持多语言)

可以尝试使用 Tauri 构建性能极佳的桌面端网页应用。但考虑不特定用户的跨平台兼容性,Electron 仍然是首选的,因为它内置Chromium,开发中无需考虑跨平台兼容性问题。

上手 Electron

按照官方文档的快速入门是有点坑的,它剥离了打包工具,导致按流程走完后,需要将写好的代码移进打包工具指定的模板里。

所以建议直接使用打包工具:

  • electron forge Electron官方维护,以前内置的打包功能移到这里了
  • electron builder 社区维护的适配多平台特性打包的解决方案

开发说明

Electron 应用的简洁说明:

  • main.js 主进程,启动node.js本地服务
  • UI界面可以是本地网页,也可以是在线网页
  • node.js与网页间通信,可以直接通过ipc相关API在进程间通信,也可以另起HTTP服务进行通信

适用场景

除了基本的前端开发桌面应用程序的需求场景,Electron真正的能力是“桌面应用程序”,可以实现包括但不限于以下需求:

  • 改写浏览器启动参数,忽略HTTPS证书问题
  • 突破浏览器安全限制,访问文件系统、跨域访问资源
  • 作为容器发布客户端 Node.js、其他可执行程序应用