Electron劝退指南?不,这是我的‘真香’致富经

0 阅读4分钟

在无数次被Electron折磨后,作者决定自研零配置脚手架解决所有痛点,意外将其打造成受欢迎的产品并实现盈利。

一个前端开发者的“桌面应用”真香警告:从被Electron坑哭到用它养家
说出来你可能不信,我,一个前端开发者,曾经一听到“Electron”三个字就想双手合十默念“退退退”。

别人用它造出了VS Code和Slack,而我用它——造出了无数个凌晨三点半的Bug,和一种全新的崩溃方式:开发者本人的崩溃。

那些年,我被Electron“深度教育”的日常
Chapter 1:打包?打包去哪儿?
每次我信心满满地敲下 npm run build,都感觉自己在进行一场庄严的电子占卜。

命令行开始滚动,我的心跳开始加速。
结果无非三种:

成功了!(概率堪比抽卡出SSR)
报错了但看得懂。(感恩戴德)
报了一屏五彩斑斓的错,重点信息宛如玩大家来找茬,最后发现是某个依赖的依赖的依赖在三年前就没人维护了。
那一刻,我觉得自己不是程序员,是考古学家,在代码的废墟里挖掘上古时期的版本冲突。

Chapter 2:路由?路在何方?
在浏览器里,路由切换行云流水,丝滑得像是德芙巧克力广告。
在Electron里,路由切换……像在泥潭里开推土机。

“为什么这个页面白屏了?”
“为什么跳过去回不来了?”
“为什么打包后路由它自己长腿跑偏了?”

我的日常,就是对着窗口里的空白,进行哲学三问:“我是谁?我在哪?我的页面呢?”
有时候甚至怀疑,是不是我电脑里住着一个调皮的小精灵,专门喜欢在我打包后把路由配置文件偷偷改掉。

Chapter 3:数据库?数“拒”库!
作为一个前端,我对数据库的认知曾经停留在“增删改查”四个大字上,天真得像个孩子。
直到我用Electron连数据库,现实给了我一记响亮的耳光。

“轻量级”的SQLite,配置起来像是给一艘航母装脚踏板。
“简单”的连接和迁移,报错信息写得像摩斯电码。
最绝的是,好不容易在开发环境跑通了,一打包——数据库它不见了! 或者说,它去到了一个我永远找不到的神秘文件夹里,比青春期孩子的心里话藏得还深。

我对着无法连接数据库的应用,和电脑屏幕上倒映出的、憔悴的自己,默默流下了两行技术泪。

反转时刻:打不过就“造”
在经历了第N+1次“项目成功,打包扑街”的惨案后,我悟了。
就像吃够了外卖的苦,终于决定自己学做饭。

我一边薅着所剩不多的头发,一边恶向胆边生:“这破架子,老子自己搭一个!”

于是,我开始了“闭门造轮子”的伟大(作死)计划。
目标很简单:把那些让我崩溃的坑,一次性全填平,铺上柏油,再画上清晰的双黄线!

打包配置
?我给你写成零配置,一键出包,支持“缝纫机”(Win)、 “苹果”(Mac)、 “企鹅”(Linux)全家桶。
路由迷茫
?我给你内置成无感模式,就像在写普通Web应用一样放肆,剩下的交给脚手架在背后当牛做马。
数据库神隐
?我给你自动初始化、自动找路径,应用装哪儿,数据库就跟到哪儿,比宠物狗还忠诚。
还有更新、菜单、窗口管理
……通通做成“自助餐”,你想要什么,开关打开就行,不用再从零开始刨坑。
这个过程,就像在游戏里给自己写外挂。一开始只是为了通关,后来发现——诶?这外挂好像能卖钱?

真香警告:从“坑哭”到“养活”
当我战战兢兢地把这个“自救脚手架”分享给几个同样被Electron“折磨”得面目全非的哥们儿时,反馈来了:

“卧槽!你早干嘛去了!”
“大哥,救了我狗命!”
“这东西,能收费吗?我想花钱买个省心!”

于是,一个为了解决自己痛苦的业余项目,阴差阳错地变成了一个小产品。
我从一个在Electron坑里躺平任嘲的倒霉蛋,变成了一个给别人递梯子的人。

现在,每当看到有人又在群里吐槽Electron打包的奇葩问题,我都会淡定地抿一口枸杞茶,缓缓打出一行字:
“试试我这个?专治各种不服。”

这个故事告诉我们一个朴素的道理:
程序员最伟大的动力,不是改变世界。
而是——“我实在受不了这破玩意儿了!”

当你被坑得足够深、足够痛,那个你亲手打造的“解决方案”,或许就成了别人眼里的“神器”。
而你自己,也终于可以从“被Electron坑哭”的受害者,进化成靠着它淡定养家的“真香”党。

(顺便,我的脚手架真的挺好用的,不信你……试试?【手动狗头】)

image.png