惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
Schneier on Security
Schneier on Security
B
Blog RSS Feed
aimingoo的专栏
aimingoo的专栏
P
Proofpoint News Feed
A
About on SuperTechFans
Recorded Future
Recorded Future
Recent Announcements
Recent Announcements
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
Hugging Face - Blog
Hugging Face - Blog
The GitHub Blog
The GitHub Blog
Google DeepMind News
Google DeepMind News
T
Tailwind CSS Blog
Vercel News
Vercel News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MyScale Blog
MyScale Blog
V2EX - 技术
V2EX - 技术
N
Netflix TechBlog - Medium
F
Fortinet All Blogs
V
Visual Studio Blog
Martin Fowler
Martin Fowler
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - Franky
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
The Exploit Database - CXSecurity.com
F
Full Disclosure
Scott Helme
Scott Helme
H
Heimdal Security Blog
博客园 - 叶小钗
Google DeepMind News
Google DeepMind News
Cyberwarzone
Cyberwarzone
Application and Cybersecurity Blog
Application and Cybersecurity Blog
V
Vulnerabilities – Threatpost
Blog — PlanetScale
Blog — PlanetScale
Security Latest
Security Latest
WordPress大学
WordPress大学
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Troy Hunt's Blog
S
SegmentFault 最新的问题
Forbes - Security
Forbes - Security
Jina AI
Jina AI
S
Securelist
小众软件
小众软件
Simon Willison's Weblog
Simon Willison's Weblog
J
Java Code Geeks
AWS News Blog
AWS News Blog
N
News and Events Feed by Topic
博客园 - 三生石上(FineUI控件)
量子位

博客园 - 小猫钓鱼吃鱼

把Claude Code玩明白:VS Code零成本接入DeepSeek大模型 硅基流动-免费代金券 Electron劝退指南?不,这是我的‘真香’致富经 一个面向产品化的 Electron + Vue 3 桌面应用脚手架 动态代理 自己实现HashMap 自己实现Linkedlist,实现其常用的增、删、查的方法 自己实现Arraylsit,实现其常用的几种增、删、该、查的方法 前后端分离 微服务项目 通用后台管理系统 easypoi一行代码搞定excel导入导出 如何跳出页面的Frame框架 如何从GitHub上下载部分自己需要的文件 Mysql Explain 详解 解决 spring boot Failed to decode downloaded font Java中List集合的三种遍历方式(全网最详) SpringBoot设置首页(默认页)跳转功能的实现方案 idea中搭建ssm框架,详细步骤 微信公众号分享知识 idea创建maven项目速度慢?别急,这有三种方案 ceph是什么 redis 注册开机自启动服务(注意:要到你安装redis的根目录下执行下面的cmd命令) 怎么让mac和win/pc互传文件共享文件传输文件 Starting MySQL... ERROR! The server quit without updating PID file 问题解决
告别从零造轮子!我的 Electron+Vue3 脚手架,让你 10 秒启动桌面应用开发
小猫钓鱼吃鱼 · 2026-04-22 · via 博客园 - 小猫钓鱼吃鱼

一个观察,不一定对。

现在满大街都是喊着要「客户端」的甲方,好像不搞个独立安装的软件,这事儿就不够严肃。

但你我都知道,他们其实只需要一个能离线跑、能读写点本地文件、最好还能长得像回事儿的「浏览器标签页」。

这就是为什么,每次有朋友来找我聊「想做个桌面应用」,我都想直接反问:你确定你想从头搞个 QT?写 C++?还是用 .NET WinForm?

别开玩笑了。

我们这帮前端出身的人,最值钱的时间,不是花在纠结线程模型和内存泄漏上。我们要的是:用最熟悉的武器,最快地造出能跑的东西。

所以,答案几乎只有一个:Electron。

它让你用网页技术造桌面应用。听着像是投机取巧的「缝合怪」,对吗?但这就是它的革命性所在——它把桌面应用开发的门槛,从「系统工程师」直接拉低到了「前端开发者」。

而配上 Vue 3,这事儿就从「能搞」变成了「优雅地能搞」。

你们在痛苦什么,我一清二楚

我不是在瞎猜。因为我踩过所有的坑。

痛点一:从零开始的无限循环。

每次新项目,就像一场仪式:装 Electron,配 Webpack 或 Vite,调打包,处理 native module。然后呢?路由、状态管理、菜单栏、系统托盘……光是搭架子,一周就没了。

你的核心竞争力,是业务逻辑,不是当「框架配置工程师」。

痛点二:本地数据处理的无力感。

「咱这个应用,得存点数据吧?」老板轻描淡写。

然后你就开始纠结:用 localStorage?容量太小,还是个黑盒。上 IndexedDB?API 反人类。最后咬牙上 SQLite?恭喜你,进入了 native node module 的地狱,打包体积爆炸,跨平台兼容性像抽奖。

我见过太多项目,最后用 JSON 文件读写来模拟数据库,慢得像乌龟,还容易数据损坏。这叫「技术负债的慢性中毒」。

痛点三:不像个「正经」桌面应用。

Electron 应用常被诟病:启动慢、内存高、像个套壳网站。

但恕我直言,很多时候不是 Electron 的锅,是写的人太敷衍。默认配置一跑,能不慢吗?

我的选择:Vue 3 + Electron,不是将就,是进化

为什么是 Vue 3?

因为它组合式 API,和现代桌面应用的开发心智模型完美契合。一个功能(比如系统托盘、日志模块),就是一个可复用的组合函数。干净、利落。

不像以前,数据和方法散落在各个 option 里,改起来像在玩「大家来找茬」。

而且,Vue 的响应式系统,在管理复杂的桌面应用状态时(比如多窗口通信、主题切换),简直是一种享受。

你写的是清晰、可维护的代码,不是意大利面条。

那么,怎么解决上述痛点?

我受够了重复劳动。

所以,我给自己(现在也分享给你们)造了一把「瑞士军刀」——一个高度集成的Electron + Vue 3 脚手架。

我不是在卖另一个「Hello World」模板。我做的是一个生产就绪的底盘。

这把「瑞士军刀」里有什么?

先给你划个重点:

✅ 开箱即用的企业级功能(动态路由、权限、日志、主题)

✅ 高性能 SQLite 封装(800+ 条/秒写入)

✅ 模块化架构,二次开发像搭积木

下面展开说。

  1. 开箱即用,不是一句空话

动态路由与权限:基于文件和角色,自动生成渲染进程的菜单和路由。你只需要写.vue文件,定义meta.role。其他的,交给我。

完整的日志系统:不只是控制台console.log。是分级(Info, Warn, Error)、持久化(本地文件)、支持进程隔离的日志。出问题了?直接打开日志文件定位。

主题管理:亮色/暗色模式是基础。我内置的是 CSS Variables 驱动的主题系统,你可以轻松扩展出「蜜桃粉」、「商务蓝」——整个 UI 颜色跟着一键切。

  1. 性能,我们玩真的

最让我骄傲的,是内置的高性能 SQLite 封装。

我抛弃了那些笨重的 ORM,自己基于更好的sqlite3驱动做了轻量封装。

800+ 条/秒的写入速度,是纯读写基准测试。这意味着你的数据操作,再也不会成为界面的卡顿点。

image

image

内存?经过优化的事务处理和连接池,让它吃得比猫还少。

这才是 Electron 应用该有的「本地尊严」。

  1. 模块化设计:你的二次开发,不该是解谜游戏

整个架构是清晰的「核心-插件」模式。

核心只负责最底层的 Electron 生命周期、更新、安全。

而「业务模块」,比如用户管理、订单处理,都以独立插件形式存在,可以热插拔。

你的下一个项目,很可能只是换个皮肤、增删几个插件。

DRY(Don‘t Repeat Yourself),是开发者最基本的自律。

它跑起来是什么样?

想象一下:

你拿到手,npm install,npm run dev。

10秒内,一个带有原生标题栏、系统托盘图标、完整左侧导航菜单的应用窗口就弹出来了。

你可以直接点开「日志管理」页面,看到实时日志流。

可以在设置里切换暗黑模式,整个 UI 无缝过渡。

可以打开「数据库工具」,随意建表、插入、查询。

你从第一天开始,就在写业务功能,而不是在配环境、搞基建。

这种「即时正反馈」,对于独立开发者和小团队来说,就是生命线。

比技术更重要的,是心智的转换

太多人被「桌面应用」四个字吓到了,总觉得那是庞然大物。

但我想说,当代很多桌面应用的本质,是一个「特权网页」。

它有更高的本地权限,更深的系统集成,但它迭代和开发的核心逻辑,依然是现代前端那一套。

用 Electron + Vue 3,不是技术上的妥协,是战略上的精准打击:用我们最擅长的、迭代最快的武器,去占领一个曾经固若金汤的领域。

你需要的不是一个更牛的语言,而是一个更顺手的起跑器。

这个起跑器,现在给你

这个我为自己打造的「起跑器」,我已经把它开源并持续维护了快一年。它支撑了我自己的三个商业化项目,稳定、可靠。

现在,我想把它给更多人。

不是为了崇高的开源精神,而是我坚信:当工具足够锋利,创造者的注意力才能回归本质——去解决真正的问题,而不是在和工具搏斗。

如果你也受够了每次从零开始搭建 Electron 应用,受够了在本地数据存储和打包部署上反复踩坑,想直接在一个坚实的地基上开始建造你的应用——

那么,这个脚手架可能就是你在找的东西。

🔗 闲鱼搜索【小猫吃咸鱼2020】,备注“公众号来的”,我会第一时间回复你。

最好的致敬,不是赞美,而是 fork 之后,用它创造出属于你自己的、让人眼前一亮的东西。

最后留一句话,送给所有在深夜还在和打包配置搏斗的开发者:

我们这代人的桌面,终将被我们最熟悉的技术重新定义。

别在旧世界的工具箱里,找打开新世界的钥匙。