
Electron开发实践指南
文章平均质量分 93
前端徐徐
公众号:前端徐徐
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Electron 原生模块开发 & 调用实践指南
在 Electron 应用开发的过程中,开发者常常会遇到一些标准 Node 环境 和 Electron API 无法直接解决的特殊场景。这些场景可能涉及系统底层交互、高性能计算、特定硬件接口访问等复杂需求。为了突破这些限制,开发者需要借助原生模块——即.dll.dylib.so或.node文件——来扩展应用的功能边界。原生模块为 Electron 应用提供了强大的扩展能力,使开发者能够:1. 突破 JavaScript 的性能瓶颈,通过使用 C/C++、Rust 等高性能语言编写核心功能模块。原创 2024-12-30 10:05:03 · 1849 阅读 · 0 评论 -
Electron 任务队列管理实践指南
我相信很多小伙伴都会在 Electron 中 或者 Node 应用中遇到定时任务之类的功能,如果定时任务比较简单,数量比较少的话,随处定义就能解决了,但是如果遇到定时任务非常多,任务中执行的方法并不简单的话,简单的随处定义已经不能满足复杂的需求了,这个时候我们可能就需要考虑使用任务队列来管理整个应用的定时任务了。在日常的开发中,有很多场景可能都需要用到任务队列,上面任务队列的实现思路也不一定只适用于客户端,服务端设计大致的思路也差不多。原创 2024-12-30 10:04:05 · 953 阅读 · 0 评论 -
Electron 本地数据库实践指南(下)— 集成SQLite
上一节我们比较了三种数据库,我个人认为 SQLite3 这个数据库工具适用的范围最广,也相对稳定,所以我们这一节就专门讲如何在 Electron 中集成 SQLite3,如果大家有其他想要的案例,可以在评论区留言。话不多说,我们进入正题。在本节中,我们深入探讨了如何在 Electron 项目中集成 SQLite3 数据库。通过安装相关工具和依赖包,并配置好环境,我们为后续的数据库操作奠定了基础。我们可以在此基础上实现更多功能,例如事务处理、性能优化等,进一步增强应用的功能。原创 2024-12-26 10:17:23 · 1954 阅读 · 0 评论 -
Electron 本地数据库实践指南(上)
数据本地持久化是大多数客户端都会使用到的技术,根据业务场景的不同,可能是存储一些简单的系统配置,也可能是复杂的业务数据,我们在使用一些数据本地持久化工具的时候也是需要根据自己的应用场景来选择适合自己的工具。常规情况就会引入一个本地数据库来支撑这种数据本地持久化的需求,下面我们来看看如何在 Electron 应用中如何选择一些常规的数据库工具吧。工具名称SQLite3LowdbDexie轻量级是是是跨平台是是是SQL 支持是否否事务支持是否是并发支持有限有限是性能中高中低高。原创 2024-12-26 10:16:22 · 1343 阅读 · 0 评论 -
Electron 窗口池管理实践指南
在 Electron 应用中,我们经常会遇到新窗口打开显示缓慢的问题,大多数解决方案是先把要打开的窗口先隐藏起来,然后在需要打开的时候再展示出来,不得不说这个是一个简单高效的方法。但是这样会面临两个问题,第一个问题是如果用户不打开新窗口,那么就会有多余的进程消耗 CPU 和 内存;第二个问题是窗口只有显示和隐藏,所有隐藏窗口的状态不会按需得到初始化和销毁(当然可以通过事件监听或者主进程发送消息的方式,这样负担有点重),基于上面的场景和问题便有了窗口池的概念。原创 2024-12-25 10:03:00 · 1046 阅读 · 0 评论 -
Electron 应用接入本地日志功能指南
在我们的日常开发 Electron 应用的过程中,肯定会遇到如何打印日志的问题,不可能全部都使用的方法去打印日志,主要是无法把日志存入文件中,到后面如果要分析客户端的日志是非常不好下手的。另外就是要开发一款完整的客户端应用,我觉得在开发环境搭建好了情况下,我们就应该在第一步接入日志功能,一个好的日志功能可以帮你分析和定位一些表象无法找到的问题,帮助你快速解决问题。那么下面我们就来看看 Electron 如何实现一个好用的日志功能吧。原创 2024-12-25 10:01:52 · 2441 阅读 · 0 评论 -
Electron 进程间通信原理与实践指南
在开发 Electron 项目的时候我们会经常遇到进程间通信的场景,进程间通信也是传统桌面端开发中非常常见的场景,我们在这里不仅仅是讲如何使用 IPC,我们更多的是通过源码去了解 IPC 底层的实现,然后通过了解原理去更好的解决我们在实际场景中可能会遇到的一些问题以及一些注意事项。通过探讨 Electron 的 IPC 机制,我们不仅掌握了其使用方法,更重要的是通过源码分析理解了其底层实现原理,理解原理让我们能够在遇到问题时快速定位根源,在设计方案时有更多的选择空间,在优化性能时知道突破口在哪里。原创 2024-12-24 10:41:47 · 1375 阅读 · 0 评论 -
Electron 进程模型全解析
本文首发同名微信公众号:前端徐徐大家好,我是徐徐,今天我们来探讨一下 Electron 的进程架构设计。前言随着跨平台桌面应用开发需求的增长,基于 Web 技术的桌面应用框架日益受到欢迎。Electron 作为其中的佼佼者,通过将 Chromium 和 Node.js 的优势相结合,为开发者提供了一个强大而灵活的开发平台。理解 Electron 的进程模型对于构建高性能、安全可靠的桌面应用至关重要。本文将探讨 Electron 的进程架构设计,包括主进程、渲染进程以及它们之间的通信机原创 2024-12-24 10:39:50 · 838 阅读 · 0 评论 -
使用 Vite 搭建 Electron 项目开发环境
最近准备重写 Electron 相关的实战教程,一年前在掘金上写过相关的文章,现在看来都太过粗糙,大部分东西都是为了记录写下的,并没有系统整理过相关的内容,自己一直在工作中做 Electron 相关的开发,最近又有了一些新的感悟以及相关的实践总结,所以决定从各个方面去写一下相关的实战教程,打算每一篇文章都把自己的思路讲明白,然后附上相应的源码。这一篇文章是讲如何用使用 Vite 搭建 Electron 项目开发环境。原创 2024-12-19 09:54:37 · 1799 阅读 · 0 评论 -
Windows Electron 应用更新的原理是什么?揭秘 NsisUpdater
在 Electron 中 Windows 应用的更新原理其实并不复杂,他巧妙的结合了 NSIS,专门为基于 NSIS (Nullsoft Scriptable Install System) 的 Windows 应用程序设计了相应的更新器,下面我们来详细看看具体是如何实现的吧。初始化: 通过构造函数设置更新器。检查更新: (不在这段代码中,但是更新流程的一部分)。下载更新: 使用方法下载更新文件。可能使用差异下载 () 来优化下载过程。验证更新: 使用方法验证下载的文件。原创 2024-12-19 09:52:39 · 922 阅读 · 0 评论 -
Electron 重大更新,33.0.0版本发布,带来多项新特性与改进!
各位开发者朋友们,备受瞩目的Electron 33.0.0版本已于近日正式发布!Electron 33.0.0版本的发布标志着这个流行的跨平台开发框架又向前迈进了一大步。无论是核心组件的升级,还是新增的功能和改进,都将为开发者提供更强大、更灵活的工具来创建高质量的桌面应用。各位开发者,你们准备好升级到Electron 33了吗?欢迎在评论区分享你的看法和使用体验!原创 2024-12-18 09:57:12 · 650 阅读 · 0 评论 -
Electron on macOS: 揭秘 MacUpdater 如何实现无缝自动更新?
前面分析了 electron-updater 的整体流程,但是那是针对所有平台的流程,其实在各个平台的更新流程里面还有很多细节是需要探索的,这篇文章主要是探讨 Electron 在 macOS 平台上的更新流程,让我们一起来解读解读。MacUpdater类继承自AppUpdater,专门用于处理macOS平台的更新。它利用Electron的原生模块,并结合自定义的HTTP服务器来实现更新过程。macOS 特定更新管理与 Electron 原生更新器的集成更新检测和下载代理服务器管理。原创 2024-12-18 09:55:49 · 1315 阅读 · 0 评论 -
你真的了解 Electron 的自动更新吗?揭秘AppUpdater 类的内部工作原理
Electron 应用的自动更新是保持应用程序最新、修复 bug 和添加新功能的重要机制。本文将深入分析 electron-builder 的 AppUpdater 类的源码,梳理出完整的更新流程,以帮助开发者更好地理解和使用 Electron 的自动更新功能,相信读了这篇文章你会对 Electron 更新中的一些奇奇怪怪的问题会有一些眉目。通过对 AppUpdater 类的深入分析,我们可以看到 Electron 的自动更新机制是一个复杂而完善的系统。原创 2024-12-18 09:54:47 · 939 阅读 · 0 评论 -
揭秘 Electron 的 Linux 打包过程:你知道背后发生了什么吗?
electron-builder 是一个强大的工具,用于将 Electron 应用程序打包成可分发的格式。它支持多种平台,包括 Windows、macOS 和 Linux。在 Linux 平台上,electron-builder 支持多种打包格式,如 AppImage、Flatpak、Snap 等。本文将详细介绍 electron-builder 在 Linux 上的打包原理及各格式是如何打包的。通过以上的分析,我们深入了解了在 Linux 平台上的打包流程。原创 2024-12-17 11:56:38 · 1330 阅读 · 0 评论 -
Electron-builder 是如何打包 Windows 应用的?
electron-builder 中 windows 的打包其实也是很复杂的,因为光是使用这个工具去打包就会遇到很多问题,更别说去探究里面的源码了解其原理了。但是之前已经写了 electron-builder 中 macOS 的源码和原理解读,然后为了彻底了解所有平台的打包逻辑,我又开始阅读 windows 的构建源码,这里跟大家分享一下我的一些理解。通过和// ...设置各种定义// ...设置通用定义这些定义控制了 NSIS 脚本的行为,如安装目录、快捷方式创建等。原创 2024-12-17 11:55:37 · 1312 阅读 · 0 评论 -
揭秘 electron-builder:macOS 应用打包背后到底发生了什么?
我在后台收到留言说上一篇关于 electron-builder 解析的文章不够有深度,我就想了一下,要再细致一点就只能把每个平台的打包源码讲一下啰。这促使我重新审视了这个话题,决定深入源码,为大家揭示 macOS 平台上 Electron 应用打包的全过程。Electron 应用的 macOS 平台打包是一个涉及多个步骤的复杂过程,包括准备打包配置、执行打包、应用签名、notarization 等。定义 macOS 平台的默认打包目标,如dmgzippkg等。原创 2024-12-17 11:54:35 · 1288 阅读 · 0 评论 -
谈谈我做 Electron 应用的这一两年
大家好,我是徐徐。今天和大家谈谈我做 Electron 桌面端应用的这一两年,把一些经验和想法分享给大家。原创 2024-08-05 19:53:56 · 1616 阅读 · 0 评论 -
electron-builder 解析:你了解其背后的构建原理吗?
我们前面浅析了 Electron 的相关原理,这一节我们来讲讲 electron-builder 的原理。为什么要讲它呢,因为它的原理基本上包含了业界跨端的桌面端开发框架的打包构建原理,搞懂了这款工具的原理,其他的类似的跨端开发框架的构建思路都差不多,比如 NW.js 之类的,都差不多。而且它在构建 electron 应用这一块是非常成熟和优秀的,如果你想无痛构建 electron 应用,它是首选。下面我们就来看看它的整体原理与构建流程。原创 2024-12-16 10:12:12 · 1466 阅读 · 0 评论 -
十年跨平台开发,Electron 凭什么占据一席之地?
其实一直想系统的写一写 Electron 相关的文章,之前在掘金上写过,但是现在来看那些文章都写得挺粗糙的,所以现在我决定系统整理相关的知识,输出自己更多 Electron 开发相关的经验。这一节我们主要是来认识一下 Electron,这个已经有 10 年历史的跨端开发框架。我将从诞生背景,优劣势,生态,案例以及和其他框架的对比这几个方面带大家来认识 Electron。原创 2024-12-16 10:10:46 · 1908 阅读 · 0 评论 -
从架构到API,你真的掌握了Electron的全貌吗?
Electron 的原理是每个开发 Electron 应用的开发者都需要了解的知识内容,因为知道整个原理全貌后你才能在设计一个应用的时候更加的合理,遇到问题才知道从哪个方面去分析。这篇文章将主要从架构层面,协作方式,底层支持,源码层面,API设计等方面来剖析 Electron 的原理。原创 2024-12-16 10:09:12 · 1621 阅读 · 0 评论