编程导航学习网站:学编程、做项目、拿 Offer!
企业高频面试题库:开始刷题,面试遇原题!
精选简历模板大全:1 分钟搞定简历!
AI 资源导航网站:获取最新 AI 黑科技!
1 对 1 模拟面试:随时随地提升面试能力
Electron 求职高频面试题:开始刷题
Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台桌面应用的框架,由 GitHub 开发并于 2013 年开源。Electron 将 Chromium 和 Node.js 嵌入到一个二进制文件中,让你可以使用 Web 技术开发桌面应用,一套代码可以运行在 Windows、macOS 和 Linux 上。
Electron 被广泛应用于各种桌面应用开发,从代码编辑器到通讯工具、从音乐播放器到开发工具。知名的 Electron 应用包括 VS Code、Atom、Slack、Discord、Figma、Notion、Postman 等,鱼皮团队的 剪切助手 也是用 Electron 开发的,这些应用都证明了 Electron 的强大和可靠性。
为什么要学 Electron?
使用 Web 技术开发桌面应用具有巨大的优势:开发效率高(复用 Web 技术栈)、跨平台(一套代码三个平台)、生态丰富(可以使用 npm 上的所有包)、界面美观(使用 CSS 自由定制)。对于前端工程师来说,学习 Electron 可以让你进入桌面应用开发领域,拓展职业发展空间。
Electron 的核心架构是多进程模型:主进程(Main Process)负责管理窗口和应用生命周期,渲染进程(Renderer Process)负责渲染页面。主进程和渲染进程通过 IPC(进程间通信)进行通信。理解这个架构是学习 Electron 的关键。

在 AI 时代,Electron 也可以开发 AI 桌面应用,比如在 Electron 应用中集成大语言模型、图像识别等 AI 能力。
注意,如果你刚开始学前端,一定不要直接从 Electron 开始!
学习 Electron 建议先掌握:

学完 Electron 后,可以帮助你从事下列岗位:
1)Electron 使用 Web 技术开发,一定要先掌握 HTML、CSS、JavaScript 等前端技术。如果会 React 或 Vue,开发 Electron 会更轻松。
2)理解进程模型:Electron 的多进程模型是核心概念,要理解主进程和渲染进程的区别和作用。
3)Electron 的官方文档非常详细,中文文档质量也很高。遇到问题时,优先查阅官方文档。
4)Electron 的学习一定要结合实际项目。可以先开发一些简单的工具,如笔记本、待办事项等,熟悉 Electron 的开发流程。
5)学习 Electron 时可以用 AI 工具辅助开发,推荐到鱼皮的 AI 资源大全 中捞捞 AI 工具。

理解 Electron 的核心概念,掌握 Electron 项目的创建和基本使用。
Electron 简介【必学】:
进程模型【必学,核心重点】:
创建项目【必学】:
开发环境【必学】:
1)Electron 的进程模型是核心概念,主进程类似于后端,负责管理窗口和系统交互;渲染进程类似于前端,负责渲染页面。一个应用有一个主进程,可以有多个渲染进程。

2)预加载脚本是主进程和渲染进程之间的桥梁,可以在渲染进程中暴露主进程的 API。预加载脚本是 Electron 安全模型的重要部分。
3)BrowserWindow 是 Electron 创建窗口的核心 API,可以创建各种类型的窗口(如主窗口、对话框、无边框窗口等)。
IPC 是 Electron 的核心功能,主进程和渲染进程通过 IPC 通信。渲染进程调用主进程的功能(如文件操作、系统对话框)需要通过 IPC。
掌握 Electron 的进程间通信,能够实现主进程和渲染进程的数据交互。
IPC 基础【必学,核心重点】:
渲染进程到主进程【必学】:
主进程到渲染进程【必学】:
上下文隔离【必学】:
1)invoke/handle 是推荐的双向通信方式,比 send/on 更简洁。invoke 返回 Promise,可以等待主进程的响应。
2)出于安全考虑,渲染进程不能直接访问 Node.js API。需要在预加载脚本中使用 contextBridge 暴露安全的 API。
3)理解上下文隔离和 contextBridge 是 Electron 安全开发的关键。
Electron 可以访问 Node.js 的所有 API,可以进行文件操作、网络请求、调用系统功能等。这是 Electron 相比 Web 应用的最大优势。
本阶段的目标是掌握 Electron 的原生能力,能够调用系统 API。
系统对话框【必学】:
文件系统【必学】:
系统通知【建议学】:
其他原生能力【建议学】:
1)系统对话框可以提供原生的用户体验,如打开文件对话框、保存文件对话框等。要熟练使用 dialog API。
2)托盘图标可以让应用最小化到系统托盘,提供更好的用户体验。很多桌面应用都有托盘图标。
打包和发布是将 Electron 应用分发给用户的重要环节,需要掌握应用签名、自动更新、多平台打包等技能。
应用打包【必学】:
自动更新【建议学】:
代码签名【建议学】:
分发渠道【建议学】:
1)electron-builder 是最流行的 Electron 打包工具,可以打包为 Windows exe、macOS dmg/pkg、Linux deb/rpm 等格式。

2)自动更新可以让用户自动获取新版本,提升用户体验。electron-updater 是流行的自动更新库。
3)代码签名可以让应用获得系统的信任,避免安全警告。但代码签名需要购买证书,个人开发者可以跳过。鱼皮当初折腾过这一块,还是挺麻烦的。
通过实际项目巩固所学知识,积累 Electron 项目经验。
1)从简单工具开始:如笔记本、待办事项、计算器等,熟悉 Electron 的完整开发流程。
2)结合前端框架:使用 React、Vue 等框架开发 Electron 应用,可以大大提高开发效率。Vite + React/Vue + Electron 是流行的技术栈。
3)关注性能:Electron 应用的启动速度和内存占用是常见问题,要注意优化。
4)打包发布:完成项目后,打包成可执行文件,发布到官网或应用商店。
入门级项目:
进阶级项目:
优质开源项目:
熟练掌握 Electron 常见面试题,准备好简历和项目经历,顺利通过面试。
1)准备项目:如果公司岗位要求明确提到了 Electron 技术,那么简历上必须要有 Electron 桌面应用项目;会桌面端开发对前端工程师来说也是很加分的。面试时要能够清楚地介绍项目的技术架构、遇到的问题和解决方案等。
2)准备简历:建议使用 老鱼简历 制作简历,关于如何写好简历,推荐学习鱼皮的 保姆级写简历指南。

3)多刷面试题:Electron 的面试题主要包括进程模型、IPC 通信、原生能力、打包发布等。建议使用 面试鸭 刷题。

更多求职干货:编程导航求职干货分享
基础概念:
IPC 通信:
原生能力:
打包发布:
Electron 是使用 Web 技术开发跨平台桌面应用的优秀选择,让前端工程师也能开发桌面应用。
学习 Electron 要先打好前端基础,理解 HTML、CSS、JavaScript。然后学习 Electron 的进程模型、IPC 通信、原生能力等核心概念。多做实战项目,体验 Electron 的完整开发流程。
希望这份学习路线能够帮助大家少走弯路,快速掌握 Electron 桌面应用开发。加油鱼友们 💪🏻!

1)程序员学习交流圈:极客教程、实战项目、求职宝典
2)程序员面试八股文:实习/校招/社招高频考点、企业真题解析
3)程序员写简历神器:专业模板、丰富例句、直通面试
4)AI 知识资源大全:前沿技术、最新 AI 资讯、提示词大全
5)1 对 1 模拟面试:实习/校招/社招面试拿 Offer 必备